資料結構實驗二棧基本操作

2021-03-03 23:54:00 字數 2005 閱讀 1182

一、實驗目的

掌握棧的基本操作:初始化、判空、判滿、入棧、出棧、取棧頂元素等運算。

二、實驗要求包含有標頭檔案和main函式;

1. 格式正確,語句採用縮排格式;

2. 設計子函式實現題目要求的功能;

3. 編譯、連線通過,熟練使用命令鍵;

4. 執行結果正確,輸入輸出有提示,格式美觀。

三、實驗裝置、材料和工具

1. 奔騰2計算機或以上機型

2. turboc2,win-tc

四、實驗內容和步驟

實驗內容:

1. 分析程式。

2. 完成程式編寫和補充

步驟:3. 確定資料的結構;

4. 利用main函式呼叫各子函式;

5. 除錯、分析執行結果。

五、實驗報告要求

1. 根據實驗內容初步設計好程式,並從理論上排除錯誤;

2. 針對程式的健壯性準備好測試資料;

3. 結果分析中如實填寫執行後的結果,記錄除錯過程中產生的重要問題和解決方法。

六、根據實驗過程填寫下面內容

基礎部分

1.構建下列標頭檔案,檔名稱seqstack.h

#define true 1

#define false 0

#define stack_size 500

#define stackelementtype int

typedef struct

seqstack;

void initstack(seqstack *s)

int isempty(seqstack *s) /*判斷棧s為空棧時返回值為真,反之為假*/

int isfull(seqstack *s) /*判斷棧s為滿棧時返回值為真,反之為假*/

int push(seqstack *s,stackelementtype x)

int pop(seqstack *s,stackelementtype *x)

}int gettop(seqstack *s,stackelementtype *x)

2.構建判斷回文序列的程式,完成執行和除錯。回文序列如:序列1&序列2

//包含順序棧標頭檔案

#include"seqstack.h"//包含順序棧標頭檔案

#include "stdio.h"

void main()

while(!isempty(&s))//括號內填入判斷條件

pop(&s,&temp);//s出棧,出棧值存放與temp變數中

i++;//變數i自增

ch=str[i];//賦值str中下乙個元素值給ch變數

if(temp!=ch) //括號內填入判斷條件

break;

}if(!isempty(&s)||str[i+1]!='\0')//括號內填入判斷條件

printf("no!\n");

else

printf("yes!\n");

}3.編寫程式使棧內元素倒置(設定兩個棧,把其中乙個棧的元素順序出棧,並順序放入第二個棧中,則第二個棧中元素已經倒置)!

#include "stdio.h"//包含基本輸入輸出標頭檔案

#include "seqstack.h"//包含順序棧標頭檔案

main()

printf("第二個棧的內容:\n");

while(!isempty(&t))

}提高部分

4.編寫程式用棧實現進製轉換中的資料存放問題,完成進製轉換功能**換成二進位制)。

#include"stdio.h"

#include"seqstack.h"

void main()

while(!isempty(&s))

}5.編寫程式用棧實現求fibonacci數列第n(n>=3)個數的值。

#include"stdio.h"

#include"seqstack.h"

void main ()

temp= 0;

while(!isempty(&s))}

資料結構實驗三順序棧基本操作

課內實驗任務書 年月日實驗三順序棧的基本操作 一 實驗目的 1.了解順序棧的結構特點及有關概念 2.理解順序棧的儲存結構 3.掌握順序棧的基本操作演算法。二 實驗內容 建立順序棧,完成順序棧的基本操作 初始化 入棧 出棧 輸出 銷毀,置棧空 求棧長 判順序棧是否為空 棧滿 取棧頂元素。三 實驗要點及...

資料結構03棧的基本操作

院系專業 姓名 林楨曦學號 106052010235 級班年 月 日 編寫棧的基本操作函式 分別用順序和鏈結兩種方式實現 呼叫進棧函式建立乙個棧,讀取棧頂元素,刪除棧中元素,並且輸出棧中所有元素。順序棧 1 建立空棧 int initstack sqstack s 2 進棧 void push sq...

資料結構棧和佇列基本操作

實驗二棧和佇列 棧的順尋儲存操作 include stdio.h include stdlib.h define stack init size 100 define stackincrement 10 typedef struct sqstack void initstack sqstack s ...