鏈棧,即為使用鏈式儲存的棧。
本程式使用void指標指向不同型別的鏈棧頭結點,使用的時候強制轉換即可。
用template實現了儲存不同資料型別。
#include
#include
#include
#include
using
namespace std;
const
int maxn =9;
struct stack_node
st[maxn +1]
;template
<
class
t>
struct node
;template
<
class
t>
void
des_stack
(int root)
free
(pointer)
; st[root]
.root =
null
; st[root]
.data_type =0;
}template
<
class
t>
bool
stack_top
(int root, t &ans)
template
<
class
t>
void
stack_push
(int root, t data)
template
<
class
t>
bool
stack_pop
(int root)
intmain
(void
)else
if(str_com.
compare
("double")==
0)else
if(str_com.
compare
("char")==
0)else
printf
("資料型別不支援!\n");
}}else
if(com ==2)
}else
if(com ==3)
}else
if(com ==4)
else
if(st[com2]
.data_type ==2)
else
if(st[com2]
.data_type ==3)
printf
("入棧成功!\n");
}}else
if(com ==5)
}else
if(com ==0)
return0;
printf
("按任意鍵繼續..");
getchar()
;getchar()
;system
("cls");
}}
資料結構鏈棧實現
如題 這是一套完整的可執行的 需要讀者有一定的基礎去閱讀 語言是用c語言實現 在c 環境中編寫 在c 中可直接執行 在c語言中需要改部分標頭檔案和輸出語句 標頭檔案 這要是 的宣告部分 ifndef head define head include using namespace std typed...
鏈棧的資料結構以及鏈棧的實現
線性表有順序儲存結構和鏈式儲存結構,棧屬於線性表的一種,也具有順序儲存結構和鏈式儲存結構。對於棧的鏈式儲存結構,一般稱之為鏈棧。棧的插入和刪除只在棧頂進行操作,在單鏈表中,頭指標是單鏈表的必須元素 而在棧中,棧頂指標也是鏈棧的必須元素,且一般將棧頂放在單鏈表的頭部。鏈棧的結構 如下所示 定義資料結點...
資料結構(C實現) 鏈棧
鏈棧,即棧的鏈式儲存結構,鏈棧通常使用不帶頭結點的單鏈表來表示,因此其結點的結構和單鏈表的結點結構相同。在乙個鏈棧中,棧底就是鍊錶的最後乙個結點,而棧頂總是鍊錶的第乙個結點。因此,新入棧的元素即為鍊錶中採用頭插法新加入的結點,乙個鏈棧可以由棧頂指標唯一確定,當top為null時,則表示該棧是乙個空的...