數(shù)據(jù)結(jié)構(gòu)教學(xué)師范計(jì)算機(jī)學(xué)院_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)師范計(jì)算機(jī)學(xué)院_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)師范計(jì)算機(jī)學(xué)院_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)師范計(jì)算機(jī)學(xué)院_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)師范計(jì)算機(jī)學(xué)院_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)性質(zhì)、同組人、實(shí)驗(yàn)日期、以及實(shí)驗(yàn)報(bào)告中的一至五項(xiàng);開(kāi)。(80-89(60-69(59(學(xué)生實(shí)驗(yàn)后填寫(xiě)(分?jǐn)?shù)或等級(jí)123456789、實(shí)驗(yàn)報(bào)告、同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□CCCPC1臺(tái)VC6.0 #ifndef_FUNC_H#define_FUNC_H#define1#define0#define1#define0#defineOVERFLOW-typedefintElemType;ElemTypeDestroyTriplet(Triplet&T);ElemTypePut(Triplet&T,inti,ElemTypee);ElemTypeMax(TripletT,ElemType&e);ElemTypeAveValue(TripletT,ElemTypev1,ElemTypev2,ElemTypev3,ElemType&e);#include"h1.h"{T=(ElemType*)malloc(3*sizeof(ElemType));if(!T)T[0]=v1;T[1]=T[2]=return}{T=return}{if(i<1||i>e=T[i-1];return}{{if(i<1||i>T[i-1]=e;return}{return} v3,ElemType&e){e=(v1+v2+v3)/3;returnOK;}#include"h1.h"int{charselect;intprintf("printf("輸入三元組的三個(gè)元素scanf("%d%d{printf("1:i個(gè)元素\n");printf("2:求最大值\n");printf("3:置換第i個(gè)元素\n");printf("4:求三個(gè)元素的平均值!\n");switch(select){caseif(Get(T,i,e)==printf("i值不合法printf("\n第%d個(gè)元素的值為:%d\n",i,e);caseprintf("\n最大值是:%d\n",e);caseif(Put(T,i,e)==ERROR) printf("i值不合法\n");printf("\n置換第%d個(gè)元素后的3個(gè)元素分別case'4':printf("\n該三元組三個(gè)元素的平均值為d.\n",e);case}}while(select!=}return}return實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□C(特別是函數(shù)參數(shù)、3)1)編程實(shí)現(xiàn)線性表兩種結(jié)構(gòu)中的基本操作的實(shí)現(xiàn)(線性表的創(chuàng)建、插PC1臺(tái)VC6.0 #ifndef_FUNC_H#define1010typedefint{ElemType*elem;// intlength;intElemTypeListInsert_Sq(SqList&L,inti,ElemTypee);ElemTypePriorElem(SqListL,ElemTypee);ElemTypeNexem(SqListL,ElemTypee);ElemTypeGet(SqListL,inti,ElemType&e);ElemTypePut(SqListL,inti,ElemTypee);ElemTypeListTraverse(SqListL);ElemTypeBack(SqListL);#includestdlib.h>#includestdio.h>#includeh1.h"ElemTypeInitList_Sq(SqList&L)//{{Lelem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.length=returnOK;}ElemTypeListInsert_Sq(SqList&L,inti,ElemTypee)//{if(i<1||i>L.length+1)returnERROR;if(L.length>=L.listsize){L.elem=(ElemType*)realloc(L.elem,(L.listsize+LISTCREMENT)*sizeof(ElemType));L.listsize+=LISTCREMENT;}ElemType*q=&(L.elem[i-1]);ElemType*p=&(L.elem[L.length-1]);while(p>=q){*(p+1)=*p;}*q=e;}ElemTypeDelet(SqListL,inti,ElemTypee)//{if(i<1||i>L.length+1) ElemType*q=L.elem+i-1;ElemType*p=L.elem+L.length-1;e=*q;while(p>={*(q-1)=*q;}printf("\n被刪除的元素是d\n",e);}ElemTypeLocateElem(SqListL,ElemTypee,ElemType&j)//{p=L.elem;j=while(*p!=e&&j<={}if(j==L.length+printf("%d在表中的位置是}ElemTypePriorElem(SqListL,ElemTypee)//{intelem_loc;if(elem_loc==1)printf("該元素的前驅(qū)元素是d.\n",L.elem[elem_loc2]);returnOK;}ElemTypeNexem(SqListL,ElemTypee)//{intelem_loc;ifelem_locL.length)printf("該元素為最后一個(gè)元素,無(wú)后繼元素!\n");:%}}{if(i<1||i>L.length)returnERROR;e=L.elem[i-1];printf("\n第%d個(gè)元素是}{if(i<1||i>L.length)returnERROR;Lelem[i-1]=e;}ElemTypeListTraverse(SqListL)//{inti=while(i<L.length){}returnOK;}ElemTypeDestroy(SqList&L)//{Lelem=NULL;returnOK;})//{printf("\n回到初始狀態(tài)n");for(inti=0;i<10;i++)}}#includeh1.h"int{SqListT;inti,elem_loc;for(intj=0;j<10;j++)if(InitList_Sq(T)==for(j=0;j<10;{printf("**1:顯示線性表元素 printf("**2:在第i個(gè)元素處插入一個(gè)元素 printf("**3:刪除第i個(gè)元素\n");printf("**4:元素e的定位\n");printf("**5:e的直接前驅(qū)元素\n");printf("**6:e的直接后繼元素\n");printf("**7:取出第i個(gè)元素\n");printf("**8:置換第i個(gè)元素\n");/*printf("**9:回到初始狀態(tài)printf("**0:結(jié)束!\n");printf("\n請(qǐng)輸入選擇!\n");switch(select){casecaseif((ListInsert_Sq(T,i,e))==ERROR) printf("i值不合法\n");caseif(Delet(T,i,e)==ERROR) caseprintf("\n輸入要查詢(xún)的數(shù)caseprintf("\n輸入該元素caseprintf("\n輸入該元素Nexem(T,e);casecase'8':for(j=0;j<10;case'0':}}while(select!=}實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□;PC1臺(tái)VC6.0#ifndef_FUNC_H#defineTRUE#defineFALSE#defineOK#defineERROR#defineOVERFLOW-typedefinttypedefstruct{SElemType*top;intstacksize;externStatusStackEmpty(SqStackS);//S為空棧,則返回TURE,返回返回externStatusStackLength(SqStackS);//返回S的元素個(gè)數(shù),即棧的長(zhǎng)度并返回OK,否則返回ERRORexternStatusPush(SqStack&S,SElemTypee);//插入元素e為新的棧頂元externStatusPop(SqStack&S);//S的棧頂元素,用返回其值,并返回OK;否則返回ERRORexternStatusCompare(charch);//括號(hào)匹配#include<stdio.h>#include"h1.h"{S.top=returnOK;}{return}{{return}{returnOK;}return}StatusStackEmpty(SqStackS)//若棧S為空棧,則返回TURE,否則返回{returnreturnreturn}{intreturnlength;}{SElemTypee;return}{{}returnOK;}并返回OK;否則返回ERROR{SElemTypee;return}{intwhile(S.base!={ }}returnOK;}{SqStackS;{}{}returnOK;}#include<stdio.h>#include#includeint{SqStackcharselect;{}{printf("請(qǐng)輸入你想往棧里存放的數(shù)據(jù)(以-1未結(jié)束標(biāo)志 {}}{

、逆序輸出堆棧中的元素

、驗(yàn)證堆棧是否為空棧。

printf("7、刪除 的棧頂元素,并用 返回

printf("8Ni的數(shù)值 括號(hào)匹配檢 {case{}{}case'2':case{}{}casecasecase{}case'6':case'7':{}case'8':caseSqStackS;charch;boolflag;{{casecasecasecasecasecasecase}}case}}}#include#include#defineX1 1typedefinttypedefint{QElemTypedata;structQNode*next;typedefstruct{QueuePtrStatusClearQueue(LinkQueue&Q);StatusQueueLength(LinkQueue&Q);StatusQueueEmpty(LinkQueueQ);StatusQueueGetHead(LinkQueue&Q,QElemType&e);StatusEnQueue(LinkQueue&Q,QElemTypee);#include1.h"#includestdio.h>#include{Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));Q.front->next=NULL;returnOK;}{inti=1;p=Q.front->next;while(p!={p=p->next;}}{{}}{Q.front=Q.rear;returnOK;}{}{returne;}{QueuePtrp=(QueuePtr)malloc(sizeof(QNode));p->data=p->next=NULL;Q.rear->next=p;Q.rear=p;returnOK;}{QueuePtrp;p=Q.front->next;e=p-if(Q.rear==p)Q.rear=}{inti=0;p={p=p-}}int{intm=100000;LinkQueueQ;QElemTypee;while(m!=0){{caseif(InitQueue(Q)==case{}casecasecaseif(QueueEmpty(Q)==ERROR)casecasecasecasecase}}}實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□ 掌握特殊矩陣的壓縮表示,了解稀疏矩陣的三元表順序表示及基本PC1臺(tái)VC6.0#ifndefFUB#define#defineTRUE1#defineFALSE0#defineOK1#defineERROR#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;#defineMAXSIZE12500typedefstruct{inti,j;{intmu,nu,tu;{intscanf("%d%d%d",&M.mu,&M.nu,&M.tu);{}}{intp;{}}}{{intfor(intcol=1;col<=M.nu;col++){{}}}intp;{}}int{return0;}實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□二、PC1臺(tái)VC6.0三、實(shí)驗(yàn)流程、操作步驟或代碼、算法片#ifndef#define#define #define #define #define #defineOVERFLOW-#include#includetypedefinttypedefint{structBiTNodeStatusCountLeaf(BiTreeT);#include"1.h"{charif(ch==T={if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))T->data=ch;}}{returnOK;}{if}{if}{}{if(T==NULL)num=elseif((T->lchild==NULL)&&(T->rchild)==NULL)num=1;{num1=CountLeaf(T->lchild);num2=CountLeaf(T->rchild);num=num1+num2;}}int{{intx=2;intm;while(x!={{casem=if(m=={}casecasecasecasecase}if(x!=}}}實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□建立有向圖的鄰接表表示,并根據(jù)計(jì)算頂點(diǎn)的出度和入度,然PC1臺(tái)VC6.0 #ifndef_HEAD_H#define#defineOK#defineERRORtypedefintStatus;typedefintVRType;typedefenum{DG,UDG}GraphKind;typedefstructArcCell{AdjMatrixarcs; StatusCreateUDG(MGraph&G);StatusCreateDG(MGraph&G);StatusCountTD(MGraphG,charv);StatusPrintGraph(MGraphG);#include"1.h"intif(v==G.vexs[i])}}intcharch=} }ch=getchar();G.arcs[i][j].adj=1;G.arcs[j][i]=G.arcs[i][j];}G.kind=UDG;returnOK;}intcharch=printf("第%d個(gè)頂點(diǎn):",i+1);ch=} }ch=getchar();G.arcs[i][j].adj=1;}G.kind=DG;returnOK;}intcasecaseprintf("\n選擇錯(cuò)誤請(qǐng)重新輸入:");}}inti,j;printf("\n該圖的頂點(diǎn)有%3d個(gè),分別為:",G.vexnum); printf("\n該圖的弧數(shù)為:%3d",G printf("\n該圖的種類(lèi)為:");if(G.kind==}}#include#include"stdio.h"#include"1.h"voidcharv,ch;printf("\n創(chuàng)建一個(gè)圖:");casecaseprintf("\n輸入錯(cuò)誤,請(qǐng)重新選擇:");}printf("\n請(qǐng)輸入選擇:");casecaseprintf("\n圖中的頂點(diǎn)為:"); ch=getchar();case}}實(shí)驗(yàn)報(bào)告同組人□基本操作綜合 實(shí)驗(yàn)預(yù)習(xí)□實(shí)驗(yàn)操作□實(shí)驗(yàn)結(jié)果□實(shí)驗(yàn)報(bào)告□1)P

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論