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

正文內(nèi)容

[理學(xué)]數(shù)據(jù)結(jié)構(gòu)3第三章:棧和隊列-文庫吧

2025-09-17 21:14 本頁面


【正文】 f(SElemType))。 if(!) exit(OVERFLOW)。 // 存儲分配失敗 =+。 +=STACKINCREMENT。 } *()++=e。 return OK。 } 進棧圖例 順序棧的基本操作 Status Pop(SqStack amp。S,SElemType amp。e) { // 若棧不空 , 則刪除 S的棧頂元素 , 用 e返回其值 , 并返回 OK;否則返回 ERROR if(==) return ERROR。 e=*。 return OK。 } 出棧圖例 棧的鏈式存儲結(jié)構(gòu) ? 為什么使用鏈棧 – 防止上溢錯誤 、 棧實際所用的最大空間是很難估計的 、 各個棧的實際容量在使用期是可變的 。 ? 鏈棧 – 棧的鏈式存儲結(jié)構(gòu)稱為鏈棧 ,它是運算受限的單鏈表 , 它的插入和刪除僅限制在表頭位置上進行 。棧頂指針就是鏈表的頭指針 , 它唯一確定一個鏈棧 。 由于棧的操作是線性表操作的特例 , 故鏈棧的操作易于實現(xiàn) 鏈棧圖例 鏈棧圖例 鏈棧的基本操作 void push(node *HS,int x) {// 在棧頂指針是 HS的鏈棧中插入一個值為 x的結(jié)點 node *s s=(node ?)malloc (sizeof(node)); sdate=x; snext=HS; HS=s; } 鏈棧的基本操作 int pop(node *HS )// 在棧頂指針是 HS的鏈棧中取出一個結(jié)點 { int x; node *p if (HS= =NULL) printf(“向下溢出\ n”); else { x=HSdate; p=HS; HS=HSnext; free(p); return(x); } } 鏈棧的基本操作 int sempt(node *HS ) {// 判定棧頂指針是 HS的鏈棧是否為空 if (HS= =NULL) return(1); else return(0); } 棧的應(yīng)用舉例 void conversion() // 算法 { // 對于輸入的任意一個非負十進制整數(shù) , 打印輸出與其等值的八進制數(shù) InitStack(s)。 // 初始化棧 scanf(%d,amp。n)。 // 輸入非負十進制整數(shù) n while(n) // 當 n不等于 0 { Push(s,n%8)。 // 入棧 n除以 8的余數(shù) (8進制的低位 ) n=n/8。 } while(!StackEmpty(s)) // 當棧不空 { Pop(s,e)。 // 彈出棧頂元素且賦值給 e printf(%d,e)。 // 輸出 e } } 棧的應(yīng)用舉例 void conversion() { // 對于輸入的任意一個非負 10進制整數(shù) , 打印輸出與其等值的 16進制數(shù) InitStack(s)。 // 初始化棧 scanf(%u,amp。n)。 // 輸入非負十進制整數(shù) n while(n) // 當 n不等于 0 { Push(s,n%16)。 // 入棧 n除以 16的余數(shù) (16進制的低位 ) n=n/16。 } while(!StackEmpty(s)) // 當棧不空 { Pop(s,e)。 // 彈出棧頂元素且賦值給 e if(e=9) printf(%d,e)。 else
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1