棧的鏈式儲存及常用操作

2021-06-27 08:34:55 字數 655 閱讀 8397

水水的實現一下鏈式棧。

#include #include #include #include using namespace std;

typedef struct sta

stack ;

void createstack(stack *&s) //建立乙個帶頭結點的鏈棧

void destroystack(stack *&s) //銷毀乙個鏈棧

free(p) ;

}int isempty(stack *s) //判定

void pushstack(stack *&s,int e) //將元素e進棧

void popstack(stack *&s,int &e) //出棧操作,並且將出棧的元素儲存到e中

void gettop(stack *&s,int &e)

else

}int main()

else

int popnum ;

popstack(s,popnum) ;

printf("出棧的元素為%d\n",popnum) ;

int top ;

gettop(s,top) ;

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

}

棧的鏈式儲存結構及實現

今天學習棧的鏈式儲存結構。鏈式儲存結構最大的好處就是沒有空間的限制,通過指標指向將結點像乙個鍊子一樣把結點鏈結,那麼棧的同樣可以用於鏈式儲存結構。棧的鏈式儲存結構,簡稱為鏈棧。想想看,棧只是棧頂來做插入和刪除操作,棧頂放在鍊錶的頭部還是尾部呢?由於單鏈表有頭指標,而棧頂指標也是必須的,那麼幹嘛不讓他...

棧的鏈式儲存結構及實現

棧的鏈式儲存結構,簡稱為鏈棧,如圖所示 對於鏈棧來說,基本不存在棧滿的情況,除非記憶體以沒有儲存空間。鏈棧的結構 如下 typedef struct stacknode stacknode,linkstackptr typedef struct linkstack linkstack 鏈棧的操作和普...

棧的鏈式儲存結構與操作

include using namespace std struct infor template class test template test test template test test template void test getintostack 入棧 template void te...