利用順序表實現棧
#include#include #include #include typedef struct position position;
typedef int sdatatype;
#define max_size (100)
typedef struct stack stack;
//初始化
void stackinit(stack *ps)
//入棧
void stackpush(stack *ps, sdatatype data)
//出棧
void stackpop(stack *ps)
//返回棧頂元素
sdatatype stacktop(stack *ps)
// 判斷為空, 1 空,0 非空
int stackisempty(stack *ps)
//返回資料(棧元素)個數
int stacksize(stack *ps)
//棧拷貝
利用單鏈表實現佇列
#include#include #include typedef int qdatatype;
typedef struct qnode qnode;
typedef struct queue queue;
//初始化
void queueinit(queue *pq)
//入隊
void queuepush(queue *pq, qdatatype data)
// 通常情況,有元素佇列
pq->prear->pnext = pnewnode;
pq->prear = pnewnode;
}//出隊
void queuepop(queue *pq)
}//返回隊首元素
qdatatype queuefront(queue *pq)
//判斷佇列是否為空 ,1空 0非空
int queueisempty(queue *pq)
//返回隊內元素個數
佇列實現棧棧實現佇列
佇列是一種先進先出的資料結構,要想實現先進後出,需加乙個輔助佇列進行資料的來回倒 引用交換 從而實現棧結構。例如 5 4 3 2 1 用乙個輔助佇列裝 4 3 2 1,把5彈出,在把 4 3 2 1放回原佇列,如此反覆可變成5 4 3 2 1的棧結構。棧是一種先進後出的資料結構,要想實現先進先出,同...
佇列實現棧,棧實現佇列
兩個佇列實現棧 每次進入乙個佇列,取出得時候,把所有元素進入另乙個佇列,只留下乙個元素,以此實現棧的先進後出 filo package algorithmbymyself import j a.util.linkedlist import j a.util.queue 用兩個佇列實現乙個棧 publ...
棧與佇列的實現(python)
利用python內建的list來實現棧 class stack object 棧 def init self self.items def is empty self 判斷是否為空 return self.items def push self,item 加入元素 def pop self 彈出元素...