資料結構 棧的順序的實現

2021-08-09 15:25:30 字數 1391 閱讀 6805

#include#include#define stack_size 100			//棧的初始容量

#define stackincrease 10 //每次的增量

typedef int elemtype;

typedef structsqstack;

bool initstack(sqstack &s)

void clearstack(sqstack &s)

bool stackempty(sqstack s)

int stacklength(sqstack s)

bool gettop(sqstack &s, elemtype &e)

bool push(sqstack &s, elemtype e)

*s.top = e;

s.top++;

//*(s.top++) = e; //這兩條語句可以合併

return true;

}bool pop(sqstack &s, elemtype &e)

int main()

while(scanf("%d", &e) && e != -1)

printf("棧的長度是:%d\n", stacklength(s));

printf("請輸入你想要進行的操作序號:\n");

printf("1:新增元素,2:刪除棧頂元素,3:取棧頂元素,4:判斷棧是否為空,\n5:返回棧的長度,6:清空棧,7:退出\n");

int n;

while(scanf("%d", &n) && n != 7)

else

printf("刪除失敗\n");

break;

case 3:

if(gettop(s, e) == true)

printf("棧頂元素是:%d\n", e);

else

printf("操作失敗\n");

break;

case 4:

if(stackempty(s) == true)

printf("棧為空\n");

else

printf("棧不為空\n");

break;

case 5:

printf("棧的長度是:%d\n", stacklength(s));

break;

case 6:

clearstack(s);

printf("清空成功\n");

break;

default:

printf("輸入有誤,請重新輸入\n");

break;

} } printf("謝謝你的使用!\n");

return 0;

}

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

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

資料結構 順序棧的實現

棧是一種遵循元素後進 push 先出 pop 規則的線性表,即最後加入的元素最先出來,它的實現可以用陣列或者鍊錶。它的特點如下 我們已經說過了,棧是一種線性表,故其底層是基於陣列或者鍊錶的。那麼,我們的重點是維護一種規則,即後進先出。我們始終要有乙個變數l來記錄最後乙個元素的位置 當彈出時,將l位置...

資料結構之順序棧的實現

我們知道棧可以完成的基本操作是入棧,出棧,取棧頂元素,可以由順序表形式實現,也可以由鍊錶形式實現 今天我們就來實現一下順序棧 首先來看下順序棧的實現 seqstack.h pragma once include include include define header printf n s n f...