1.順序棧的操作
#include
using
namespace std;
#define maxsize 100
#define ok 1
#define error 0
typedef
int selemtype ;
typedef
int status;
typedef
struct
sqstack;
///順序棧初始化
status initstack
(sqstack &s)
///判斷順序棧是否為空
bool
stackempty
(sqstack s)
///求順序棧的長度
status stacklength
(sqstack s)
///入棧
status push
(sqstack &s, selemtype e)
///出棧
status pop
(sqstack &s, selemtype &e)
///取棧頂元素
status gettop
(sqstack s, selemtype &e)
intmain()
gettop
(s,e)
;///獲得棧頂元素
cout <<
"輸出棧頂元素:"
<< e << endl;
pop(s,e)
;///出棧
cout <<
"輸出出棧元素:"
<< e << endl;
cout <<
stacklength
(s)<< endl;
return0;
}
2.鏈棧的操作
#include
#include
using
namespace std;
typedef
int selemtype;
typedef
int status;
#define ok 1
#define error 0
///鏈棧只在頭部進行操作,沒有必要附加頭結點
typedef
struct stacknode
stacknode,
*linkstack;
///初始化
status initstack
(linkstack &s)
///判斷鏈棧是否為空
bool
stackempty
(linkstack s)
///進棧
status push
(linkstack &s,selemtype e)
///出棧
status pop
(linkstack &s,selemtype &e)
///取棧頂元素
selemtype gettop
(linkstack s)
intmain()
3.鏈佇列的操作
#include
using
namespace std;
#define ok 1
#define error 0
typedef
int status;
typedef
int qelemtype;
typedef
struct qnode
qnode,
*queueptr;
typedef
struct
linkqueue;
///初始化
status initqueue
(linkqueue &q)
///銷毀佇列
status destroyqueue
(linkqueue &q)
return ok;
}///求鏈佇列的隊頭元素
status gethad
(linkqueue q,qelemtype &e)
///入隊
status enqueue
(linkqueue &q,qelemtype e)
///出隊
status dequeue
(linkqueue &q,qelemtype &e)
intmain()
4.迴圈佇列的操作
#include
#include
using
namespace std;
#define ok 1
#define error 0
#define overflow -1
#define maxsize 100
typedef
int status;
typedef
int qelemtype;
typedef
struct
sqqueue;
///初始化
status initqueue
(sqqueue &q)
///迴圈佇列的長度
status queuelength
(sqqueue q)
///迴圈隊列入隊
status enqueue
(sqqueue &q, qelemtype e)
///迴圈佇列出隊
status dequeue
(sqqueue &q,qelemtype &e)
///取隊頭元素
status gethad
(sqqueue q,qelemtype &e)
intmain()
棧和佇列的基本操作
看歐立奇的 程式設計師面試寶典 的棧和佇列的部分,發現了部分問題。其中棧的部分,不能簡單的用malloc函式來初始化stack,應該呼叫create 函式 而且棧的base應該指向棧的最下面的資料的下乙個位址。全部除錯通過 棧的部分通過單鏈表來實現鏈棧的結構 include using namesp...
棧和佇列的有關操作
1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 出隊操作。4 採用順序儲存實現迴圈佇列的初始化 入隊 出隊操作。5 在主函式中設計乙個簡...
棧和佇列的有關操作
實驗內容 1 用順序儲存定義棧結構。寫出這種儲存方式下的演算法實現,包括 初始化棧 判棧為空 出棧 入棧 求棧頂元素 等運算,自己填寫主函式。2 利用順序棧的基本操作 設計演算法,實現將任意乙個十進位制整數轉化為r進製整數 3 用順序儲存來定義迴圈佇列結構。程式設計實現,初始化佇列 判佇列 為空 出...