棧與佇列(C )

2021-10-06 18:46:00 字數 3060 閱讀 3526

佇列的結構體定義

順序棧鏈棧

棧的應用

順序隊(迴圈佇列)

鏈隊共享棧和雙端佇列

#define maxsize 100
typedef

struct

sqstactk;

typedef

struct lnode

lnode;

typedef

struct

sqqueue;

鏈隊結點的結構體定義
typedef

struct qnode

qnode;

鏈隊的結構體定義
typedef

struct

liqueue;

#include

using

namespace std;

#define maxsize 100

typedef

struct

sqstactk;

void

initstack

(sqstactk &st)

intisempty

(sqstactk st)

intpush

(sqstactk &st,

int x)

intpop

(sqstactk &st,

int&x)

intmain()

int stack[maxsize]

;int top =-1

;stack[

++top]

= x;

x=stack[top--

];

#include

using

namespace std;

#define maxsize 100

typedef

struct lnode

lnode;

void

initstack

(lnode *

&lst)

intiseempty

(lnode *lst)

void

push

(lnode *lst,

int x)

intpop

(lnode *lst,

int&x)

intmain()

#include

using

namespace std;

#define maxsize 100

intmatch

(char exp,

int n)}if

(top ==-1

)return1;

else

return0;

}int

main()

#include

using

namespace std;

#define maxsize 100

intop

(int a,

char op,

int b)

else

return a / b;

}return1;

}int

com(

char exp)

}return stack[top];}

intmain()

#include

using

namespace std;

#define maxsize 100

typedef

struct lnode

lnode;

void

initstack

(lnode *

&lst)

intiseempty

(lnode *lst)

void

push

(lnode *

&lst,

int x)

intpop

(lnode *

&lst,

int&x)

intmain()

#include

using

namespace std;

#define maxsize 100

typedef

struct

sqqueue;

void

initqueue

(sqqueue &qu)

intisqueueempty

(sqqueue qu)

intenqueue

(sqqueue &qu,

int x)

intdequeue

(sqqueue &qu,

int&x)

intmain()

#include

using

namespace std;

#define maxsize 100

typedef

struct qnode

qnode;

typedef

struct

liqueue;

void

initqueue

(liqueue *

&lqu)

intisqueueempty

(liqueue *lqu)

void

enqueue

(liqueue *lqu,

int x)

}int

dequeue

(liqueue *lqu,

int&x)

intmain()

C 棧與佇列

棧 棧是一種特殊的線性表,棧的插入和刪除操作只允許在表尾一端進行,因此棧是操作受限線性表。棧可以是順序儲存,也可以是鏈式儲存。往棧裡插入乙個元素稱為進棧 push 從棧裡刪除乙個元素稱為出棧 pop 同時還有乙個棧頂指標 top 總是指向最後乙個進棧的元素,當top 1 時 表示棧為空,top ma...

C 的棧與佇列

原帖位址 使用標準庫的棧和佇列時,先包含相關的標頭檔案 include include 定義棧如下 stackstk 定義佇列如下 queueq 棧提供了如下的操作 s.empty 如果棧為空返回true,否則返回false s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s...

棧與佇列 建立棧 佇列

陣列棧 完成stack createstack int maxelements 函式,該函式建立乙個棧,maxelements為與分配的棧空間大小 棧可用空間為array 0,maxelements 1 typedef int elemtype struct stackrecord typedef ...