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

正文內(nèi)容

表達式求值廣義表的運算課程設計報告-展示頁

2025-04-23 05:25本頁面
  

【正文】 例如:建立廣義表:(a,b(c,d),e) ,如圖3 1^ 0a0b1^ 0c0d1^0e1^^ 圖3 廣義表的存儲圖示求廣義表的逆表需要用堆棧存儲廣義表的元素,棧的數(shù)據(jù)類型如下:typedef char ElemType。 struct GLode *tp。 /*原子值*/ struct GLode *hp。typedef struct GLode//廣義表結構體的定義{ int tag。tp域是用來存放與本元素同一層的下一個元素對應結點的地址,當該元素是所在層的最后一個元素時,tp的值為NULL。其中tag是一個標志位,用來區(qū)分當前結點是原子結點還是子表。廣義表的存儲結構:由于廣義表中的元素本身又可以具有結構,是一種帶有層次的非線性結構,因此難以用順序存儲的結構表示。所以在我當時拿到這個題目的時候,雖然它只有短短的幾行字,但是我深深的感覺到了它的難度,在后來課程設計中,也證實了我的感覺,每個功能都實在是太難實現(xiàn)了,所以只有各個擊破了。課本上在介紹廣義表的計本概念的基礎上,介紹了廣義表的存儲及應用。 如何實現(xiàn)廣義表的遍歷。 求廣義表的深度的依據(jù)是什么。 用什么方法才能查找到廣義表中每一個元素,如何標志是否找到待查元素。一、問題分析與任務定義:此程序需要完成以下幾個任務:首先要將輸入的用數(shù)組存儲的廣義表轉化成以廣義表的存儲結構存儲的廣義表,這個過程也就是生成廣義表;查找廣義表,查找廣義表要返回一個值flag,當flag=1時,程序查找到待查的元素,當flag=0時,程序沒有找到待查元素;輸出廣義表,遍歷廣義表,輸出廣義表的遍歷結果;取表頭,返回表頭結點;取表尾,將廣義表從第二個元素開始復制到另一個廣義表中;求廣義表的深度,遍歷每一層廣義表,將廣義表內(nèi)每層廣義表深度最大的廣義表相加為同一層所求過的子表中深度的最大值,最后返回值加一即為廣義表的深度;求逆表,將廣義表逆向輸出。 數(shù)據(jù)結構課程設計報告題目: 表達式求值廣義表的運算學 院 信息工程學院 __________專 業(yè) ____ 計算機科學與技術年級班別 _12級四班___________學 號 2012051419________學生姓名 張海濤_____指導教師 米文麗___成 績 _2013年12月 題目:廣義表的運算。本設計要求實現(xiàn)廣義表的建立、查找、輸出、取表尾、以及求深度、求逆表等。實現(xiàn)本程序需要解決以下問題: 如何根據(jù)廣義表的特點建立廣義表。 建立廣義表,如何根據(jù)廣義表的存儲結構的特點建立廣義表。 運用什么方法才能將廣義表逆序。二、概要設計和數(shù)據(jù)結構選擇:設計思想:廣義表是線性表的一種推廣,但它并不是線性表。廣義表濃縮了線性表、數(shù)組等常見的數(shù)據(jù)結構的特點,在有效利用存儲空間方面更勝一籌,目前在文本處理、人工智能、代數(shù)操作和計算機圖形方面等各個領域都具有應用價值。設計程序時,先起草了流程圖,通過流程圖來看,就使得程序鮮明易懂,接下來先寫好了主函數(shù),通過主函數(shù)的調(diào)用,實現(xiàn)題目要求的各個功能,使得程序模塊化,便于編寫,即使不會寫的子函數(shù),也可以先空著,等待以后想到好的方法后再對其進行操作,同時在程序界面上也做了美化,使人感覺舒暢,另外通過一個循環(huán),能讓用戶進行循環(huán)操作,不至于每次只能進行一項操作,這個循環(huán)用的和線性表里的循環(huán)有點類似,但其實現(xiàn)的操作不同,當然有了以前實驗的基礎,這次編寫起來,也感覺輕松了不少。通常采用鏈式存儲結構,每個元素可用一個結點表示,結點結構如圖圖2所示:tag=0atom*tp 圖1原子結點的存儲結構tag=1*hp*tp 圖2結點的存儲結構每個結點由三個域構成。當tag為1時,該結點是子表,第二個域為hp,用以存放子表的地址;當tag為0時,該結點是原子結點,第二個域為atom,用以存放元素值。廣義表及結點類型描述如下:typedef char ElemType。 /*結點類型標識*/ union { ElemType atom。 /*指向子表的指針*/ } val。 /*指向下一個元素*/} GList。typedef struct { ElemType data[maxlen] 。}SeqStack。main()建立一個用字符數(shù)組存儲的廣義表,用字符指針s指向它輸入廣義表生成數(shù)組廣義表結構遍歷廣義表建立堆棧查找待查元素,flag=1,找到待查元素,反之,沒有查到。求廣義表的表尾,并輸出。求廣義表的逆表,并輸出。s)?;舅枷胧牵涸趶V義表表達式中,遇到左括號”(”時遞歸構造子表,否則構造原子結點;遇到逗號時遞歸構造后續(xù)廣義表,直到字符串數(shù)組結束,以\0作為結束標志。s) { 讀入廣義表的一個字符給ch; if (ch!=空格39。(39。)39。)39。,39。輸出廣義表采用的算法思想是:若遇到tag=1的結點,這是一個子表的開始,先打印輸出一個左括號”(”。子表打印輸出完后,再打印一個右括號”)”。若還有后續(xù)元素,則遞歸調(diào)用打印后續(xù)每個元素,
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1