資料結構實驗 棧的順序儲存實現

2021-09-28 12:20:24 字數 2227 閱讀 3083

[題目]

實驗二  棧·佇列操作

一、實驗目的

a.掌握棧這種資料結構特性及其主要儲存結構,並能在現實生活中靈活運用。

b.掌握佇列這種資料結構特性及其主要儲存結構,並能在現實生活中靈活運用。

c.了解和掌握遞迴程式設計的基本原理和方法。

二、實驗內容

d.棧的順序儲存結構及實現。

e.迴圈佇列(即佇列的順序儲存結構)實現。

三、原**(注釋)

c.棧的順序儲存結構及實現。

#include #include #define maxsize 20 /* 陣列最大界限 */

typedef int elemtype; /* 資料元素型別 */

typedef struct

sqstack; /* 棧的順序結構體型別 */

sqstack s1;

/* 函式宣告 */

void init_s(sqstack *s); /* 初始化空棧 * /

void out_s(sqstack s); /* 輸出棧的內容 */

void push(sqstack *s,elemtype e); /* 進棧函式 */

elemtype pop(sqstack *s); /* 出棧函式 */

/* 主函式 */

main()

break;

case 2: break;

case 3: exit(0);

} /* switch */

printf("\n ----------------");

}while(k>=1 && k<3);

printf("\n 再見!")

printf(「\n 打回車鍵,返回。「); ch=getch();

} /* main */

/* 初始化空棧 * /

/* 輸出棧的內容 */

/* 進棧函式 */

/* 出棧函式 */

c**實現

#include

#include

#define maxsize 20

/* 陣列最大界限 */

#include

#include

typedef

int elemtype;

/* 資料元素型別 */

typedef

struct

sqstack;

/* 棧的順序結構體型別 */

sqstack s1;

void

init_s

(sqstack *s)

;void

push

(sqstack *s,elemtype e)

;/* 進棧函式 */

elemtype pop

(sqstack *s)

;/* 出棧函式 */

void

out_s

(sqstack s)

;/*輸出棧的內容*/

/* 主函式 */

intmain()

break

;case2:

break

;case3:

exit(0

);}/* switch */

printf

("\n ----------------");

}while

(k>=

1&& k<3)

;printf

("\n 再見!");

printf

("\n 打回車鍵,返回。");

ch=getch()

;return0;

}/* main */

void

init_s

(sqstack *s)

void

out_s

(sqstack s)

}void

push

(sqstack *s,elemtype e)

elemtype pop

(sqstack *s)

資料結構(棧 順序儲存 )

棧是特殊的線性表,規定插入和刪除在同一端進行 進行插入和刪除的那一端成為棧頂,另一端為棧底 插入為進棧,刪除為出棧 先進後出 ps 例如 abc進棧 出棧共有幾種情況 上溢 超出規定的空間大小還進行插入操作 下溢 棧中元素已經用完了還進行刪除操作 include include include de...

順序儲存 資料結構 棧

備註 以列表為基礎進行對此的封裝,以便達到棧的效果及作用 1 2棧的順序儲存結構 3重點 4 56 自定義棧異常 7class stackerror exception 8pass910 基於列表實現順序棧 11class sstack 12def init self 13 約定列表的最後乙個元素為...

資料結構 棧的順序儲存

棧是一種後進先出的資料結構,也就是說他不像陣列那樣子,可以在中間插入,棧只能夠在上乙個存入資料的後面再存資料,而且只能取現進去的資料。棧簡稱lifo結構。棧是限定僅在表位進行插入和刪除操作的線性表。允許插入和刪除的一端叫棧頂,另一端叫棧底,不含任何元素的叫空棧。棧的插入操作,叫做進棧,也稱作壓棧,入...