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

正文內(nèi)容

棧的操作(實驗報告)-展示頁

2024-08-04 03:08本頁面
  

【正文】 }/*鏈棧置空*/void setEmpty(LinkStack * s){ stop=NULL。 /*初始化鏈棧*/void InitStack(LinkStack * s){ stop=NULL。typedef struct { stacknode * top。 stacknode * next。參考程序:include include include typedef int Elemtype。注意:(1)LinkStack結(jié)構(gòu)類型的定義可以方便地在函數(shù)體中修改top指針本身(2)若要記錄棧中元素個數(shù),可將元素個數(shù)屬性放在LinkStack類型中定義。}[實驗2] 棧的鏈?zhǔn)奖硎竞蛯崿F(xiàn)實驗內(nèi)容與要求:編寫一個程序?qū)崿F(xiàn)鏈棧的各種基本運算,并在此基礎(chǔ)上設(shè)計一個主程序,完成如下功能:(1)初始化鏈棧(2)鏈棧置空(3)入棧(4)出棧(5)取棧頂元素(6)遍歷鏈棧分析:鏈棧是沒有附加頭結(jié)點的運算受限的單鏈表。 case 6: exit(0)。 OutStack(q)。 case 5: { setEmpty(q)。 OutStack(q)。 case 4: { y=GetTop(q)。 OutStack(q)。 }break。 Push(q,a)。 scanf(%d,amp。 }break。 InitStack(q)。 printf(\n)。 scanf(%d,amp。 printf(\n\n)。 printf(\n 5 置空順序棧 \n)。 printf(\n 3 刪除棧頂元素 \n)。 printf(\n 1 初始化順序棧 \n)。 printf(\n)。 do{ printf(\n)。 int y,cord。}/*置空順序棧*/void setEmpty(SqStack *p){ptop= 1。i=0。 printf(\n)。 printf(\n)。 return(0)。 return(x)。 }}/*獲取棧頂元素*/ElemType GetTop(SqStack *p){ ElemType x。 } else { printf(Underflow!\n)。 ptop=ptop1。 if(ptop!=0) { x=pstack[ptop]。 } else printf(Overflow!\n)。}/*入棧*/void Push(SqStack *p,ElemType x){ if(ptopMAXNUM1) { ptop=ptop+1。/*初始化順序棧*/void InitStack(SqStack *p){ if(!p) printf(Eorror)。 int top。通常??兆鳛橐环N控制轉(zhuǎn)移的條件。 否則出現(xiàn)空間溢出,引起錯誤,這種現(xiàn)象稱為上溢。 基礎(chǔ)實驗[實驗1] 棧的順序表示和實現(xiàn)實驗內(nèi)容與要求:編寫一個程序?qū)崿F(xiàn)順序棧的各種基本運算,并在此基礎(chǔ)上設(shè)計一個主程序,完成如下功能:(1)初始化順序棧(2)插入元素(3)刪除棧頂元素(4)取棧頂元素(5)遍歷順序棧(6)置空順序棧分析:棧的順序存儲結(jié)構(gòu)簡稱為順序棧,它是運算受限的順序表。實驗三 棧和隊列:(1) 熟悉棧的特點(先進(jìn)后出)及棧的基本操作,如入棧、出棧等,掌握棧的基本操作在棧的順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)上的實現(xiàn);(2) 熟悉隊列的特點(先進(jìn)先出)及隊列的基本操作,如入隊、出隊等,掌握隊列的基本操作在隊列的順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)上的實現(xiàn)。 實驗要求:(1) 復(fù)習(xí)課本中有關(guān)棧和隊列的知識;(2) 用C語言完成算法和程序設(shè)計并上機(jī)調(diào)試通過;(3) 撰寫實驗報告,給出算法思路或流程圖和具體實現(xiàn)(源程序)、算法分析結(jié)果(包括時間復(fù)雜度、空間復(fù)雜度以及算法優(yōu)化設(shè)想)、輸入數(shù)據(jù)及程序運行結(jié)果(必要時給出多種可能的輸入數(shù)據(jù)和運行結(jié)果)。對于順序棧,入棧時,首先判斷棧是否為滿,棧滿的條件為:ptop= =MAXNUM1,棧滿時,不能入棧。出棧和讀棧頂元素操作,先判棧是否為空,為空時不能操作,否則產(chǎn)生錯誤。注意:(1)順序棧中元素用向量存放(2)棧底位置是固定不變的,可設(shè)置在向量兩端的任意一個端點(3)棧頂位置是隨著進(jìn)棧和退棧操作而變化的,用一個整型量top(通常稱top為棧頂指針)來指示當(dāng)前棧頂位置參考程序:includeincludedefine MAXNUM 20define ElemType int/*定義順序棧的存儲結(jié)構(gòu)*/typedef struct { ElemType stack[MAXNUM]。}SqStack。 ptop=1。 pstack[ptop]=x。}/*出棧*/ElemType Pop(SqStack *p){ ElemType x。 printf(以前的棧頂數(shù)據(jù)元素%d已經(jīng)被刪除!\n,pstack[ptop])。 return(x)。 return(0)。 if(ptop!=0) { x=pstack[ptop]。 } else { printf(Underflow!\n)。 }}/*遍歷順序棧*/void OutStack(SqStack *p){ int i。 if(ptop0) printf(這是一個空棧!)。 for(i=ptop。i) printf(第%d個數(shù)據(jù)元素是:%6d\n,i,pstack[i])。}/*主函數(shù)*/main(){ SqStack *q。ElemType a。 printf(第一次使用必須初始化!\n)。 printf(\n 主菜單 \n)。 printf(\n 2 插入一個元素 \n)。 printf(\n 4 取棧頂元素 \n)。 printf(\n 6 結(jié)束程序運行 \n)。 printf(請輸入您的選擇( 1, 2, 3, 4, 5,6))。cord)。 switch(cord) { case 1: { q=(SqStack*)malloc(sizeof(SqStack))。 OutStack(q)。 case 2: { printf(請輸入要插入的數(shù)據(jù)元素:a=)。a)。 OutStack(q)。 case 3: { Pop(q)。 }break。 printf(\n棧頂元素為:%d\n,y)。 }break。 printf(\n順序棧被置空!\n)。 }break。 } }while (cord=6)。棧頂指針就是鏈表的頭指針。(3)鏈棧中的結(jié)點是動態(tài)分配的,所以可以不考慮上溢。typedef struct stacknode { Elemtype data。}StackNode。 //棧頂指針}LinkStack。 printf(\n已經(jīng)初始化鏈棧!\n)。 printf(\n鏈棧被置空!\n)。 p=(StackNode *)malloc(sizeof(StackNode))。 pdata=x。 //由于是在棧頂pushLstack,所以要指向棧頂。 //插入}/*出棧*/Elemtype popLstack(LinkStack * s){ Elemtype x。 p=stop。 exit(1)。 stop=pnext。 //釋放 return x。 exit(1)。}/*遍歷鏈棧*/void Disp(LinkStack * s){ printf(\n鏈棧中的數(shù)據(jù)為:\n)。 StackNode * p。 while (p!=NULL) { printf(%d\n,pdata)。 } printf(=======================================\n)。 int i,m,n,a。 s=(LinkStack *)
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1