freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)隊(duì)列實(shí)驗(yàn)報(bào)告(完整版)

  

【正文】 d”,amp。//順序隊(duì)列定義的量 int e2,i2,n2,s2,a2。printf(“此隊(duì)列數(shù)據(jù)為:n”)。} 4判斷隊(duì)列是否為空的算法int QueueEmpty3(Squeue3 q)// 判斷是否為空 { if(==)return 1。} else qbase[qrear]=e。} 8)返回對(duì)頭元素的算法int GetHead2(LinkQueue *q, int *e)//返回對(duì)頭結(jié)點(diǎn)元素,存入e { if(qfront==qrear)return 0。} printf(“n”)。qfront=qrear。} 4)隊(duì)列的長(zhǎng)度算法void QueueLength2(LinkQueue *q)//返回隊(duì)列長(zhǎng)度 { QueuePtr p。} 3)元素的出隊(duì)的算法int DeQueue2(LinkQueue *q,QElemType e)//隊(duì)頭結(jié)點(diǎn)出隊(duì),將出隊(duì)的元素存入e { QueuePtr p。qfrontnext=NULL。} 6)隊(duì)頭元素的取值的算法int Gethead1(Squeue1 *q,Datatype *e)// 取對(duì)頭元素 { if(qfront==qrear){ printf(“隊(duì)列已空,無(wú)法出隊(duì)!”)。return 0。e)//若隊(duì)列不空,則刪除Q的隊(duì)頭元素,并用e返回其值,并返回OK。intQueueLength(LinkQueueQ)//返回Q元素的個(gè)數(shù),即隊(duì)列的長(zhǎng)度。}LinkQueue。Q,amp。操作結(jié)果:返回Q元素的個(gè)數(shù),即隊(duì)列的長(zhǎng)度。Q)初始條件:隊(duì)列Q已存在。3循環(huán)隊(duì)列1)在本演示程序中,首先要順序隊(duì)列添加一個(gè)頭結(jié)點(diǎn),并判斷隊(duì)列是否為空,初始化建空隊(duì)列時(shí),令front=rear=0,每當(dāng)插入新的隊(duì)列尾元素時(shí),“尾指針增1”;每當(dāng)刪除隊(duì)列頭元素時(shí),“頭指針增1”。最后銷(xiāo)毀隊(duì)列,釋放空間。2)演示程序以用戶(hù)和計(jì)算機(jī)的對(duì)話(huà)方式執(zhí)行,即在計(jì)算機(jī)終端上顯示“歡迎來(lái)到鏈隊(duì)列”“元素入隊(duì)”“元素出隊(duì)”“取得頭結(jié)點(diǎn)”“輸出顯示”之后。二.概要設(shè)計(jì)(xxxx)⒈ 為實(shí)現(xiàn)上述算法,需要順序表的抽象數(shù)據(jù)類(lèi)型,抽象數(shù)據(jù)類(lèi)型定義如下:ADT Queue { 數(shù)據(jù)對(duì)象:D={ ai|ai∈ElemSet, i=1,2,3...,n, n=0 } 數(shù)據(jù)關(guān)系: R={ |ai1,ai∈D,i=2,...,n } 基本操作: InitQueue(amp。QueueEmpty(Q)初始條件:隊(duì)列Q已存在。Q,e)初始條件:隊(duì)列Q已存在。//指針域 }QNode,*QueuePtr。Status ClearQueue(LinkQueueamp。Q,QElemType e)//插入e返回Q的新的隊(duì)尾元素。2)空的隊(duì)列的構(gòu)造void InitSqueue(Squeue *p)/*初始化隊(duì)列*/ { pfront=0。return 1。if(==)printf(“此隊(duì)列為空!”)。//初始化新節(jié)點(diǎn)數(shù)據(jù)為e pnext=NULL。//要出隊(duì)的數(shù)據(jù)元素為e qfrontnext=pnext。} printf(“鏈隊(duì)列長(zhǎng)度為:%dn”,i)。printf(“鏈隊(duì)列元素依次為:”)。} temp=qfront。prear=0。} *e=qbase[qfront]。return 1。} } void main(){int choice。//******************************** Squeue3 Q。printf(“創(chuàng)建隊(duì)列完成!n”)。Ensqueue1(amp。s1)。x1)。DeSqueue1(amp。if(QueueEmpty1(Q1))printf(“此隊(duì)列為空!n”)。e1)。start1()。scanf(“%d”,amp。q,e2)。a2=1。q,e2)。q,e2)。q)。q)。GetHead2(amp。choice=1。printf(“請(qǐng)輸入數(shù)據(jù)個(gè)數(shù)j3=”)。Q,a3)。s3)。x3)。} case 2:{ system(“cls”)。break。Gethead3(amp。display3(amp。//***************************}//switch }//while }//main四.調(diào)試分析(xxx)順序隊(duì)列,運(yùn)行程序。,如有問(wèn)題,參考用戶(hù)手冊(cè)。,原本使用了大量的生僻的函數(shù)名,經(jīng)過(guò)改進(jìn),目前使用都是通俗易懂的函數(shù)名稱(chēng),方便用戶(hù)理解。,可以進(jìn)行人機(jī)交互,在后來(lái)的程序中將會(huì)做些改進(jìn),以增強(qiáng)人機(jī)交互性。(7)選擇操作6執(zhí)行輸出隊(duì)頭元素操作,回車(chē),輸出元素2。還有要注意的是在C語(yǔ)言中不能用動(dòng)態(tài)分配的一維數(shù)組來(lái)實(shí)現(xiàn)循環(huán)隊(duì)列,如果用戶(hù)的應(yīng)用程序中設(shè)有循環(huán)隊(duì)列,則必須為它設(shè)定一個(gè)最大隊(duì)列長(zhǎng)度;若用戶(hù)無(wú)法估計(jì)所用隊(duì)列的最大長(zhǎng)度,則宜采用鏈?zhǔn)疥?duì)列。[測(cè)試數(shù)據(jù)] 由學(xué)生任意指定。void mgpath1(int xi,int yi,int xe,int ye)//搜索路徑為:(xi,yi){ void print(QuType qu, int front)。mg[xi][yi]=1。j==ye){find=1。break。++。k=[k].pre。} k++。實(shí)驗(yàn)內(nèi)容:一、編寫(xiě)程序?qū)崿F(xiàn)順序表的各種基本運(yùn)算,并在此基礎(chǔ)上設(shè)計(jì)一個(gè)主程序完成如下功能:(1)初始化順序表L;(2)依次在L尾部插入元素1,21,13,24,8;(3)輸出順序表L;(4)輸出順序表L長(zhǎng)度;(5)判斷順序表L是否為空;(6)輸出順序表L的第3個(gè)元素;(7)輸出元素24的位置;(8)在L的第4個(gè)元素前插入元素0;(9)輸出順序表L;(10)刪除L的第5個(gè)元素;(11)輸出順序表L。for(i=。pa=A。while(paamp。qbnext=Anext。return OK。第五篇:數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告一. 題目要求1)編程實(shí)現(xiàn)二叉排序樹(shù),包括生成、插入,刪除; 2)對(duì)二叉排序樹(shù)進(jìn)行先根、中根、和后根非遞歸遍歷;3)每次對(duì)樹(shù)的修改操作和遍歷操作的顯示結(jié)果都需要在屏幕上用樹(shù)的形狀表示出來(lái)。Tdata=key。while(i//數(shù)據(jù)域InsertBST(bst,a[i])。}else{if(!(T)lChild){ //若左子樹(shù)空則重新接它的右子樹(shù)q=T。elseqlChild=slChild。} } } intPosttreeDepth(BiTree T){//求深度inthr,hl,max。for(inti=0。stack[num++]=p。BiTreestack[50]。void PostOrderNoRec(BiTree root)//后序非遞歸遍歷 { BiTree p=root。num。inti。iscanf(“%d”,arr+i)。int j。scanf(“%d”,amp。printtree(bst,layer)。printtree(bst,layer)。printf(“中序遍歷:n”)。return 0。ElemType no。TlChild=TrChild=NULL。int ob1。name=b。coutk。case 3: for(m=1。case 4: cout二叉排序樹(shù)儲(chǔ)存數(shù)據(jù)界面(儲(chǔ)存學(xué)生信息略)創(chuàng)建二叉樹(shù):插入節(jié)點(diǎn):刪除節(jié)點(diǎn):非遞歸遍歷:退出:數(shù)組儲(chǔ)存學(xué)生信息界面分析查找效率:因?yàn)槎鏄?shù)查找要?jiǎng)?chuàng)建二叉樹(shù),而數(shù)組查找只創(chuàng)建一個(gè)數(shù)組,二叉樹(shù)的創(chuàng)建時(shí)間比較長(zhǎng),所以對(duì)于數(shù)據(jù)量較少的情況下數(shù)組的查找效率比較高。所以數(shù)據(jù)量越大的時(shí)候,二叉樹(shù)的查找效率越高。nif(ptr[m].average()student a。} coutq。ob2=d。intara。} else if(nono){ InsertBST(TlChild,no,score,name)。//左右子樹(shù)域 }BiTNode, *BiTree。} return 0。printf(“后序遍歷:n”)。case 3: layer=PosttreeDepth(bst)。case 2:}printf(“輸入要?jiǎng)h除的節(jié)點(diǎn)”)。switch(j){case 1:printf(“輸入要插入的節(jié)點(diǎn):”)。int K。printf(“n”)。printf(“輸入節(jié)點(diǎn)個(gè)數(shù):”)。p=NULL。intnum=0。p=plChild。}num。} printf(“%dn”,Tdata)。hr=PosttreeDepth(TrChild)。} } return 1。}else{ q=T。} returnbst。return 1。//數(shù)據(jù)類(lèi)型 typedefint Status。pb=pbnext。qa=pa。pb){} while(pa){} qa=pa。qa=pa。if(||)return INFEASIBLE。對(duì)線(xiàn)性表表示的集合,集合數(shù)據(jù)由用戶(hù)從鍵盤(pán)輸入(數(shù)據(jù)類(lèi)型為整型),建立相應(yīng)的順序表,且使得數(shù)據(jù)按從小到大的順序存放,將兩個(gè)集合的并的結(jié)果存儲(chǔ)在一個(gè)新的線(xiàn)性表集合中,并輸出。} void main(){ mgpath1(1,1,M,N)。} while(k!=0)。[].j=j。j=[].j+1。}for(di=0。amp。Q
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1