如題;這是一套完整的可執行的**;需要讀者有一定的基礎去閱讀;
語言是用c語言實現;在c++環境中編寫;在c++中可直接執行;在c語言中需要改部分標頭檔案和輸出語句;
標頭檔案;這要是**的宣告部分;
# ifndef _head_
# define _head_
# include using namespace std;
typedef int datatype;
typedef struct node
snode, * psnode;
typedef struct
linkstack, * plinkstack;
plinkstack createlinkstack(void);
void destroylinkstack(plinkstack * ps);
bool emptylinkstack(plinkstack s);
bool pushlinkstack(plinkstack s, datatype x);
bool poplinkstack(plinkstack s, datatype * val);
bool gettoplinkstack(plinkstack s, datatype * val);
# endif
實現檔案;主要是**的實現;
# include "head.h"
plinkstack createlinkstack(void)
else }
void destroylinkstack(plinkstack * ps)
free(s);
s = null;
*ps = null;
return;
}bool emptylinkstack(plinkstack s)
else }
bool pushlinkstack(plinkstack s, datatype x)
else }
bool poplinkstack(plinkstack s, datatype * val)
else }
bool gettoplinkstack(plinkstack s, datatype * val)
else
}
main函式;
# include "head.h"
int main(int argc, char ** ar**)
for (int i = 0; i < 10; i++)
cout << endl;
cout << emptylinkstack(s) << endl;
destroylinkstack(&s);
if (null == s)
system("pause");
return 0;
}
資料結構(C實現) 鏈佇列
鏈佇列,即佇列的鏈式儲存結構,它是僅在表頭刪除和表尾插入的單鏈表,因此乙個鏈佇列需要設定兩個分別指示隊頭元素和隊尾元素的指標,為了操作方便,給鏈佇列新增乙個頭結點,並令隊頭指標指向頭結點,由此,空的鏈佇列的判斷條件就是隊頭指標和隊尾指標均指向頭結點。鏈佇列型別描述 typedef int qelem...
鏈佇列資料結構的實現
typedef struct node linkqueuenode typedef struct linkqueue 鏈佇列初始化 空的鏈佇列的隊頭指標和隊尾指標均指向頭結點 int initqueue linkqueue q else return 1 入隊操作演算法 利用隊尾尾插法 int en...
資料結構 鏈佇列
佇列沒完全看懂 include include define datatype int 定義節點結構 typedef struct nodequeuenode 定義頭節點 typedef structlinkqueue 初始化鏈佇列,頭節點置空 void initqueue linkqueue q ...