棧函式及棧與鍊錶的轉換

2021-07-22 21:23:54 字數 1613 閱讀 3029

棧的相關函式

#include#include#define stack_init_size 100

#define stackincrement 10

#define ok 1

#define error 0

typedef int selemtype;

typedef int status;

typedef struct

sqstack;

status initstack(sqstack &s)/*構造乙個空棧s*/

status gettop(sqstack s,selemtype &e)//若棧不空,用e返回s的棧頂元素 ,並返回ok,否則error

status gettop(sqstack s,selemtype &e)//棧部位空,用e返回棧頂元素

else }

status pop(sqstack &s,selemtype &e)//插入元素e為新的棧頂元素

int stacklength(sqstack s)

printf(m);

}void main()

棧轉為鍊錶

/*構建乙個棧,並向棧插入n個元素

*另外使用乙個指標顯示棧的元素,

*將棧中元素輸出並賦予乙個鍊錶,鍊錶的構建用倒插法,

*用鍊錶顯示所有的元素。

*/#include#include#define stack_init_size 100

#define stackincrement 10

#define ok 1

#define error 0

typedef int selemtype;

typedef int status;

typedef int elemtype;

typedef struct

sqstack;

typedef struct lnode /*結點*/

lnode;

typedef struct linklist/*鍊錶*/

linklist;

status initstack(sqstack &s)/*構造乙個空棧s*/

status initlist(linklist &l) //構造乙個空的線性鍊錶l

else }

status pop(sqstack &s)/*棧插入元素*/

return m;

}status showsqstack(sqstack &s)//顯示棧

printf("\n");

return ok;

}status exchange(sqstack &s,linklist &l)//棧轉換為鍊錶

l.head->next=p->next;

free(p);

return ok;

}status showlinklist(linklist &l)//顯示鍊錶

return ok;

}void main()

佇列 棧與鍊錶

佇列,顧名思義,就像排隊一樣,我們只能在隊首刪除,在隊尾增加。佇列是一種先進先出 fifo 的資料結構。參考 佇列的解析與c語言實現 棧,可以理解為乙個儲物的地方,且只有乙個出口,先放進去的東西最後才能拿出來 因為被後面放進去的東西擋住了 棧作為一種 資料結構 是一種 只能在一端進行插入和刪除操作 ...

佇列 棧與鍊錶

一 佇列 佇列,顧名思義,就像排隊一樣,我們只能在隊首刪除,在隊尾增加。佇列是一種先進先出 fifo 的資料結構。參考 佇列的解析與c語言實現三 鍊錶 鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組...

20201130 棧與鍊錶

經過這短短乙個月,真的感受到自己的無知與懦弱,比如沒有確定的事情,就敢跟小可愛承諾,自己的不成熟導致了這一兩年的倒退,這乙個月暫時就不實習了,好好把知識補一補,然後將python好好學一下,簡單會sql是沒有未來的,不管在哪個企業,都是以營利為目的,小可愛這麼拼,每天5點多就開始上班,你心裡難道一點...