鏈棧的資料結構以及鏈棧的實現

2021-08-15 16:52:28 字數 1191 閱讀 5659

線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧

棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素;而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。

鏈棧的結構**如下所示:

//定義資料結點型別

//typedef 定義結構型別別名

//linkstaclptr指向結構的指標

typedef

struct node stacknode,*linkstackptr;

//定義鏈棧的結構型別

typedef

struct linkstack linkstack;

入棧操作:

int push(linkstack *s,int element)
出棧操作:

int pop(linkstack *s)

temp=s->top->data;

p=s->top;

s->top=s->top->next;

delete p;

s->count--;

return temp;

}

測試**如下:

int main()

cout

<< "\n";

cout

<< "---分隔符---"

<< endl;

cout

<< "出棧15個元素"

<< endl;

for (auto i = 0; i < 15; i++)

cout

<< "\n";

return

0;}

輸出如下:

資料結構 棧 鏈棧

棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素 而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧。棧的特點 先進後出 棧函式實現 1...

資料結構鏈棧實現

如題 這是一套完整的可執行的 需要讀者有一定的基礎去閱讀 語言是用c語言實現 在c 環境中編寫 在c 中可直接執行 在c語言中需要改部分標頭檔案和輸出語句 標頭檔案 這要是 的宣告部分 ifndef head define head include using namespace std typed...

資料結構 棧的實現(順序棧和鏈棧)

棧介面,描述棧的抽象資料型別,泛型引數t表示資料元素的資料型別 public inte ce sstack 棧有兩種基本的實現 順序棧,實現棧介面 public class seqstack implements sstack 預設構造,構造容量為64的空棧 public seqstack 判斷棧是...