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

正文內(nèi)容

用順序結(jié)構(gòu)表示棧并實現(xiàn)棧的各種基本操作(已修改)

2025-07-12 23:40 本頁面
 

【正文】 .. . . ..棧的順序表示和實現(xiàn)(1)掌握棧的順序表示和實現(xiàn)(2)掌握棧的鏈?zhǔn)奖硎竞蛯崿F(xiàn)(3)掌握隊列的順序表示和實現(xiàn)(4)掌握隊列的鏈?zhǔn)奖硎竞蛯崿F(xiàn)實驗一:棧的順序表示和實現(xiàn)【實驗內(nèi)容與要求】編寫一個程序?qū)崿F(xiàn)順序棧的各種基本運(yùn)算,并在此基礎(chǔ)上設(shè)計一個主程序,完成如下功能:(1)初始化順序棧(2)插入元素(3)刪除棧頂元素(4)取棧頂元素(5)遍歷順序棧(6)置空順序?!局R要點(diǎn)】棧的順序存儲結(jié)構(gòu)簡稱為順序棧,它是運(yùn)算受限的順序表。對于順序棧,入棧時,首先判斷棧是否為滿,棧滿的條件為:ptop= =MAXNUM1,棧滿時,不能入棧。否則出現(xiàn)空間溢出,引起錯誤,這種現(xiàn)象稱為上溢。出棧和讀棧頂元素操作,先判棧是否為空,為空時不能操作,否則產(chǎn)生錯誤。通常??兆鳛橐环N控制轉(zhuǎn)移的條件。注意:(1)順序棧中元素用向量存放(2)棧底位置是固定不變的,可設(shè)置在向量兩端的任意一個端點(diǎn)(3)棧頂位置是隨著進(jìn)棧和退棧操作而變化的,用一個整型量top(通常稱top為棧頂指針)來指示當(dāng)前棧頂位置【實現(xiàn)提示】/*定義順序棧的存儲結(jié)構(gòu)*/typedef struct { ElemType stack[MAXNUM]。 int top。}SqStack。/*初始化順序棧函數(shù)*/void InitStack(SqStack *p){q=(SqStack*)malloc(sizeof(SqStack) /*申請空間*/)/*入棧函數(shù)*/void Push(SqStack *p,ElemType x){if(ptopMAXNUM1) {ptop=ptop+1。 /*棧頂+1*/ pstack[ptop]=x。 } /*數(shù)據(jù)入棧*/}/*出棧函數(shù)*/ElemType Pop(SqStack *p){x=pstack[ptop]。 /*將棧頂元素賦給x*/ptop=ptop1。 } /*棧頂1*//*獲取棧頂元素函數(shù)*/ElemType GetTop(SqStack *p){ x=pstack[ptop]。}/*遍歷順序棧函數(shù)*/void OutStack(SqStack *p){ for(i=ptop。i=0。i)printf(第%d個數(shù)據(jù)元素是:%6d\n,i,pstack[i])。}/*置空順序棧函數(shù)*/void setEmpty(SqStack *p){ ptop= 1。}【參考程序】includeincludedefine MAXNUM 20define ElemType int/*定義順序棧的存儲結(jié)構(gòu)*/typedef struct{ ElemType stack[MAXNUM]。 int top。}SqStack。/*初始化順序棧*/void InitStack(SqStack *p){ if(!p) printf(Eorror)。 ptop=1。}/*入棧*/void Push(SqStack *p,ElemType x){ if(ptopMAXNUM1) { ptop=ptop+1。 pstack[ptop]=x。 } else printf(Overflow!\n)。}/*出棧*/ElemType Pop(SqStack *p){ ElemType x。 if(ptop!=0) { x=pstack[ptop]。 printf(以前的棧頂數(shù)據(jù)元素%d已經(jīng)被刪除!\n,pstack[ptop])。 ptop=ptop1。 return(x)。 } else { printf(Underflow!\n)。 return(0)。 }}/*獲取棧頂元素*/ElemType GetTop(SqStack *p){ ElemType x。 if(ptop!=0) { x=pstack[ptop]。 return(x)。 } else { printf(Underflow!\n)。 return(0)。 }}/*遍歷順序棧*/void OutStack(SqStack *p){ int i。 printf(\n)。 if(ptop0) printf(這是一個空棧!)。 printf(\n)。 for(i=ptop。i=0。i) printf(第%d個數(shù)據(jù)元素是:%6d\n,i,pstack[i])。}/*置空順序棧*/void setEmpty(SqStack *p){ptop= 1。}/*主函數(shù)*/main(){ SqStack *q。 int y,cord。ElemType a。 do{ printf(\n)。 printf(第一次使用必須初始化!\n)。 printf(\n)。 printf(\n 主菜單 \n)。 printf(\n 1 初始化順序棧 \n)。 printf(\n 2 插入一個元素 \n)。 printf(\n 3 刪除棧頂元素 \n)。 printf(\n 4 取棧頂元素 \n)。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1