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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)之棧對列串課件-免費閱讀

2025-10-01 09:01 上一頁面

下一頁面
  

【正文】 3. 試編寫一個遍歷及顯示隊列中元素的算法。 4. 采用單鏈表結(jié)構(gòu)存儲的串 r,編寫一個函數(shù)將其中所有的’ c?字符替換成’ s?字符。 q=r。amp。amp。 if cs[j] return(false)。 int j。 j=0。 ?例: s=?abafabcg? t=?abc? 子串 t在 s中的起始位置為 5。 return(s)。 for(j=0。 int I, j, t_len。 return(s)。 一個存儲結(jié)點可以存儲 1個或多個字符,通常一個結(jié)點為一塊。 i。 0 1 2 3 4 5 6 …… a b c d e .….. 數(shù)據(jù)結(jié)構(gòu)的定義: define max 允許串的最大長度 typedef struct { char string[max]。 ?空格也是合法字符,它可以出現(xiàn)在較長的字符串中,也可以單獨出現(xiàn) 。 headnext=pnext。 } Pdata=x。 else length=n(fr)。從隊頭開始,沿著隊列順序搜索,每搜索一個元素,計數(shù)器加 1,直到隊尾,計數(shù)器的最終值即為隊列的長度。 } 循環(huán)隊列出隊函數(shù) { if (==) { printf (“是空隊列 ! \n”)。 例:一循環(huán)隊列 max =6,隊列中已有 3個元素,研究其插入 3個元素后和刪除 3個元素后的狀態(tài)。 /*判斷是否為空隊列 */ else { ++: x=Q. elements[]。 /*刪除 */ return([]) 1. 入隊( insert) ?當(dāng)給隊列插入元素時,隊尾指針 r后移而隊頭指針不動,但有一個情況例外,即當(dāng)向空隊列插入第一個元素時,隊頭指針與隊尾指針同時由 0變?yōu)?1。 ?對列的順序存儲結(jié)構(gòu) 假定有 A~ F 6個元素先后進入隊列,但 A、B,C三個元素已出隊了,故隊尾指針 r=6,而隊頭指針 f=3。 希爾波特( ,1891)曲線的定義; 塞平斯基( Sierpinski)曲線的定義; Hanoi塔穩(wěn)問題; 中斷處理問題; …… 隊列( Queue) ?隊列是一種運算受限制的線性表,元素的添加在表的一端進行,而元素的刪除在表的另一端進行。 } Fact(n) { Top=1。 ?求 n!的遞歸算法: Int fact(n) { if(n==0) Return(1)。 ?例:求 –B*( C+D)的值。 headnext=pnext。 進棧 ? Int push(stacklnode *head,elementtype x) {stacklnode *p。 else { top2=top21。 } 2. 出棧( Pop) ?出棧運算時,先將棧頂?shù)脑刂蒂x給某個變量,以備后面的運算應(yīng)用; ?然后棧頂指針減 1,將棧頂位置下移。 ?設(shè)用下標(biāo)從 1到 n的數(shù)組 ST表示堆棧,入棧的元素值為 G,則可得到入棧函數(shù)如下: 棧的順序存儲結(jié)構(gòu) ?用一個一維數(shù)組作棧,加一個指針。 ?進行插入或刪除操作的一段稱為棧頂( top),另一端稱為棧底( bottom)。 ?設(shè)數(shù)組名為 STACK,其下標(biāo)的下界為 1,上界為 n。 /*棧滿 */ return(1) } s. top++。 } 例 ?一個雙向棧是將兩個棧用一個數(shù)組構(gòu)成,它們的棧底分別設(shè)在數(shù)組的兩端。 } } 棧的鏈?zhǔn)酱鎯Y(jié)構(gòu) ?用一頭結(jié)點單鏈表的第一個元素,頭結(jié)點的指針表示棧頂,若一進棧序列 a,b,c, 其鏈?zhǔn)浇Y(jié)構(gòu)如下: head c b a ^ ?其結(jié)構(gòu)定義如下: typedef struct node { elementtype data。 } 出棧 Int pop(stacklnode *head,elementtype *x) {stacklnode *p。 top r t STACK 2. 堆棧在 表達式計算 中的應(yīng)用 ?后綴表示法(逆波蘭表示法) ? ab+, abc*+, ab+c*, …… ? 逆波蘭表達式的特點:無括號,形式簡潔,運算符的順序與運算順序相同。 ?基本思想:若遇見左括號,則進棧;若右括號,則退棧,并比較是否匹配。 。 While(top1) { Top=top1。 ?設(shè)數(shù)組名為 Queue,其下標(biāo)下界為 1,上界為 n。 ?插入操作 若 maxsize1。 /*插入元素 */ } } 2. 出隊( Delete) ?當(dāng)從隊列刪除元素時,隊頭指針 f后移而隊尾指針 r不動,但也有一個情況例外,即當(dāng)刪除了最后一個元素,隊列成為了空隊列時,隊頭指針與隊尾指針同時變?yōu)?0。 循環(huán)隊列 循環(huán)隊列就是把順序隊列的頭和尾相連,構(gòu)成一個閉環(huán)。 } =(+1)%maxsize。 ?例如,操作系統(tǒng)在管理和分配系統(tǒng)資源時,大量的應(yīng)用了隊列這種數(shù)據(jù)結(jié)構(gòu)。 k=(k+1)%n } return(length)。 插入結(jié)點: P head rear rear ^ x ^ 刪除結(jié)點: Head
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1