資料結構 順序棧的入棧彈棧操作

2021-10-01 09:08:09 字數 1013 閱讀 2911

#include

#include

#define max 10

typedef

struct sqstack

sqstack;

//初始化棧

void

initstack

(sqstack *s)

//判斷棧是否為空

intstackempty

(sqstack *s)

//進棧

intpush

(sqstack *s,

int e)

s->data[

++s->top]

=e;return1;

}//出棧

intpop

(sqstack *s,

int*e)

*e=s->data[s->top--];

return1;

}//列印棧元素

void

printstack

(sqstack *s)

s->top = topp;

}int

main()

;//賦值陣列

s.top =4;

//棧頂指標,及指出元素所在的位置,這邊元素最後所在的位置就是4,就是陣列的索引位置;

printstack

(&s)

;printf

("\n資料進棧後的資料:\n");

push

(&s,6)

;//進棧;將6加入棧中;

printstack

(&s)

;pop

(&s,

&a);

//出棧;

printf

("\n出棧元素是:%d\n"

,a);

printf

("\n出棧後棧中的資料:\n");

printstack

(&s)

;return0;

}

資料結構 棧的入棧 出棧序列

輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等 例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。思路 每次將入棧序列乙個元素入棧...

資料結構 棧 順序棧和鏈棧

順序棧 基於陣列的順序棧 include include include typedef enum status status typedef int elemtype typedef struct sqstack sqstack 函式宣告 基於陣列的順序棧 status initstack sqs...

資料結構遍歷順序棧 資料結構 順序棧的實現

資料結構 順序棧的實現 1 快速開始 棧是一種遵循元素後進 push 先出 pop 規則的線性表,即最後加入的元素最先出來,它的實現可以用陣列或者鍊錶。它的特點如下 先出,先入後出。除了頭尾節點之外,每乙個元素有乙個前驅,有乙個後繼。2 實現棧 我們已經說過了,棧是一種線性表,故其底層是基於陣列或者...