資料結構 棧的鏈式儲存

2021-08-20 12:13:04 字數 1037 閱讀 2465

#include "iostream"

using namespace std;

typedef struct stacknode

stacknode,*stacknodeptr;

struct stacklist

;

//棧與鍊錶不同的地方是,棧除了用定義了節點的結構體外,還定義了乙個棧的結構體,裡面包含棧的頭節點,棧目前的節點個數。

void init_stacklist(stacklist *mylist);

bool push_stacklist(stacklist *mylist, int data);

bool pop_stacklist(stacklist *mylist, int *data);

void show_stacklist(stacklist mylist);

void init_stacklist(stacklist *mylist)

bool push_stacklist(stacklist *mylist, int data)

s->data = data;

s->next = mylist->top;

mylist->top = s;

mylist->count++;

return true;

}bool pop_stacklist(stacklist *mylist, int *data)

stacknodeptr temp = mylist->top;

mylist->top = temp->next;

*data = temp->data;

free(temp);

mylist->count--;

return true;

}void show_stacklist(stacklist mylist)

while (now)

return;

}

《資料結構 棧》鏈式儲存

一 鏈式儲存 和 順序結構 對比?棧的 順序結構 與 鏈結構,他們在時間複雜度上都一樣,都為o 1 如果棧的數量可預知,則使用順序棧,否則,則使用鏈棧 鏈棧 要求每個元素都有指標域,增加了記憶體開銷,但對於長度無限制。二 棧 鏈式結構 棧的 順序結構 與 鏈結構,他們在時間複雜度上都一樣,都為o 1...

資料結構 棧 棧的鏈式儲存結構

資料結構 棧 棧的鏈式儲存結構 用頭插法建立的鏈棧,棧頂元素為s next所指結點 date 2017 4 14 include include define initsize 100 define elemtype char typedef struct lnode linkstack void ...

資料結構 棧的鏈式儲存

目標效果 stack.h頁面 ifndef stack h included define stack h included ifndef elemtype define elemtype int 資料元素型別預設為 int define elemtype tag endif 鏈棧的儲存結構定義 t...