/*
鏈式棧的表示和實現
鏈式棧:採用鏈式的儲存結構實現的棧;通常使用單鏈表的形式;
2019.04.15
*/#include
#include
#include
using
namespace
std;
#define ok 1
#define error 0
#define overflow -1
typedef
int status;
typedef
struct stacknodestacknode,*linkstack;
//鏈棧的初始化
//演算法步驟:
//構造乙個空棧,將棧頂指標置空
status initstack(linkstack &s)
//鏈棧的入棧
//演算法步驟:
//1.為入棧元素e分配空間,用指標p指向;
//2.將新結點資料域置為e;
//3.將新結點插入棧頂;
//4.修改棧頂指標為p;
//鏈棧的入棧實質為鏈式儲存結構中頭插入的使用
status push(linkstack &s,char e)
//鏈棧的出棧
//演算法步驟:
//1.判斷棧是否為空,若空則返回error;
//2.將棧頂元素賦值給e;
//3.臨時儲存棧頂元素的空間,以備釋放;
//4.修改棧頂指標,指向新的棧頂元素;
//5.釋放原棧頂元素的空間;
status pop(linkstack &s,char &e)
//取鏈棧的棧頂元素
//演算法步驟:
//先判斷該棧是否為空,若非空則返回當前棧頂元素的值;
char gettop(linkstack s)
int main()
}return
0;}
資料結構 佇列的鏈式表示和實現
includeusing namespace std typedef int elementtype define error 1 定義節點 typedef struct node qnode 定義front和rear指標 typedef struct linkqueue 出隊演算法 注意含有頭節點...
資料結構棧(鏈式實現)
真正的棧操作是在棧頂,這裡給出的棧是帶了頭結點的棧,也就是說head next代表圖示棧頂,head next data是1 實現 include include typedef int datatype typedef struct snode lsnode 初始化帶頭結點的鏈式堆疊,初始化函式中...
資料結構 共享棧和鏈式結構棧
共享棧其實就是兩個棧,合起來,共享乙個陣列存資料。這樣子的好處就是,兩個棧同乙個空間。當棧1的資料多,棧2資料比較少,就可以這樣子共享,對空間的浪費就會減少。當棧1為空,top1 1 棧2為空,top2 n 關鍵 有兩個棧底,和兩個棧頂top1,top2,從陣列兩端向中間靠攏。當 top1 1 to...