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

正文內(nèi)容

表達式求值廣義表的運算課程設(shè)計報告(更新版)

2025-03-01 18:48上一頁面

下一頁面
  

【正文】 給ch; if (ch==39。實現(xiàn)過程如下:GList *CreateGL(char *amp。求廣義表的表頭,并輸出。例如:建立廣義表:(a,b(c,d),e) ,如圖3 1^ 0a0b1^ 0c0d1^0e1^^ 圖3 廣義表的存儲圖示求廣義表的逆表需要用堆棧存儲廣義表的元素,棧的數(shù)據(jù)類型如下:typedef char ElemType。tp域是用來存放與本元素同一層的下一個元素對應(yīng)結(jié)點的地址,當(dāng)該元素是所在層的最后一個元素時,tp的值為NULL。課本上在介紹廣義表的計本概念的基礎(chǔ)上,介紹了廣義表的存儲及應(yīng)用。一、問題分析與任務(wù)定義:此程序需要完成以下幾個任務(wù):首先要將輸入的用數(shù)組存儲的廣義表轉(zhuǎn)化成以廣義表的存儲結(jié)構(gòu)存儲的廣義表,這個過程也就是生成廣義表;查找廣義表,查找廣義表要返回一個值flag,當(dāng)flag=1時,程序查找到待查的元素,當(dāng)flag=0時,程序沒有找到待查元素;輸出廣義表,遍歷廣義表,輸出廣義表的遍歷結(jié)果;取表頭,返回表頭結(jié)點;取表尾,將廣義表從第二個元素開始復(fù)制到另一個廣義表中;求廣義表的深度,遍歷每一層廣義表,將廣義表內(nèi)每層廣義表深度最大的廣義表相加為同一層所求過的子表中深度的最大值,最后返回值加一即為廣義表的深度;求逆表,將廣義表逆向輸出。 建立廣義表,如何根據(jù)廣義表的存儲結(jié)構(gòu)的特點建立廣義表。設(shè)計程序時,先起草了流程圖,通過流程圖來看,就使得程序鮮明易懂,接下來先寫好了主函數(shù),通過主函數(shù)的調(diào)用,實現(xiàn)題目要求的各個功能,使得程序模塊化,便于編寫,即使不會寫的子函數(shù),也可以先空著,等待以后想到好的方法后再對其進行操作,同時在程序界面上也做了美化,使人感覺舒暢,另外通過一個循環(huán),能讓用戶進行循環(huán)操作,不至于每次只能進行一項操作,這個循環(huán)用的和線性表里的循環(huán)有點類似,但其實現(xiàn)的操作不同,當(dāng)然有了以前實驗的基礎(chǔ),這次編寫起來,也感覺輕松了不少。 /*結(jié)點類型標(biāo)識*/ union { ElemType atom。}SeqStack。求廣義表的逆表,并輸出。(39。輸出廣義表采用的算法思想是:若遇到tag=1的結(jié)點,這是一個子表的開始,先打印輸出一個左括號”(”。 }}廣義表的查找:FindGListX()在給定的廣義表種查找數(shù)據(jù)域為x的結(jié)點,采用的算法思想是:若遇到tag=0的原子結(jié)點,如果是要查找的結(jié)點,則查找成功1;否則,若還有后續(xù)元素,則遞歸調(diào)用本過程在孩子表中查找,若還有后續(xù)元素,則遞歸調(diào)用本過程查找后續(xù)每個元素,直到遇到hp域為NULL的元素。amp。 }求廣義表的逆表NIGList(GList *g,SeqStack *s)求廣義表的逆表的算法思想是:利用廣義表的遍歷將廣義表的元素存入一個堆棧中,然后在將棧中所有的元素出棧打印,函數(shù)的實現(xiàn)如下:將廣義表中的元素存入堆棧中:void NIGList(GList *g,SeqStack *s) { if(g!=NULL) { if (gtag==1) { 將廣義表中的“(”以“)”存入棧中; else 遞歸調(diào)用,將子表中的元素存入棧中; } else 將廣義表中的元素存入棧中; if (gtag==1) 將廣義表中的)以(存入棧中; if (gtp!=NULL) 將廣義表中的,存入棧中; 遞歸將后續(xù)表的內(nèi)容存入棧中。 if (flag) printf(找到待查元素!\n)。 else { system(cls)。否則顯示使用聯(lián)合體建立廣義表的數(shù)據(jù)類型。 struct GLNode *tp。 ch=*s。 //新節(jié)點做為表頭節(jié)點 h=CreateGL(s)。 //指針后移 if (h!=NULL) //判斷是否為空 if (ch==39。 //若廣義表為空,則返回 if(gtag==0) printf( %c ,g)。 g=g。amp。 if (gtag ==1amp。 //申請一個新結(jié)點t ttag=1。 } else if(gtag == 1) //若為表結(jié)點 FindGListX(g,x,flag)。 sdata[stop]=g。 //遞歸調(diào)用將后續(xù)表的內(nèi)容存入棧中 } }void Pop(SeqStack *s) //廣義表的輸出 { while(stop=0) { printf(%c,sdata[stop])。 SeqStack *k。 printf(\t\t*****廣義表的運算*****\n)。 printf( \t\t===========================\n)。x)。printf(\b \n)。 break。 return 。 } } }20
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1