C語言 順序棧

2021-10-13 07:23:08 字數 1059 閱讀 8378

**棧(stack)**是限定僅在表的一端進行插入和刪除操作的線性表。

允許插入和刪除的一段稱為棧頂(stack top),另一端為棧底(stack bottom)

不含任何資料的棧為空棧。

棧的特點:後進先出。

**例題:**乙個棧的入棧序列是1、2、3、4、5,則棧的不可能輸出序列是(c)

a.54321 b.45321 c.43512 d.12345

解釋:如果為a,則12345全部一次性入棧,最後依次出棧。

如果為b,1234依次入棧,4出棧,5入棧,5出棧,321依次出棧。

如果為d,12345依次進棧接著出棧。

c不可能是,12順序有錯,2先後棧,則2肯定先出棧。

順序棧**

#include

"stdafx.h"

#include

"malloc.h"

const

int stacksize=5;

void

push

(int x)

;int

gettop()

;int

pop();

intempty()

;int data[stacksize]

;int top=-1

;int

main()

else

}printf

("棧頂元素:%d\n"

,gettop()

);while

(true)

else

}return0;

}//入棧

void

push

(int x)

//取棧頂元素(並不刪除)

intgettop()

//出棧操作,將棧頂元素彈出

intpop()

//判斷棧是否為空

intempty()

執行結果:

C語言 順序棧

一 順序棧 description 用順序儲存方式實現棧邏輯 順序棧 結構 include include include struct sequent stack 棧的管理結構體 初始化棧頭,規定大小 struct sequent stack init stack int size return ...

C語言順序棧

棧為只能在一端修改資料的資料結構,順序棧結構為乙個陣列和乙個指向尾部的top變數,當進棧時把元素放入下標為top的陣列元素中去,top 1。出棧的話就是top 1 1 include2 define maxsize 1024 34 typedef int elemtype 56 typedef st...

C語言 實現 順序棧

seqstack.h 標頭檔案宣告如下 include typedef int datatype 自定義資料型別,假定為整型 typedef struct seqstack 順序棧定義 seqstack typedef struct seqstack pseqstack 順序棧的指標型別 建立乙個容...