複習 資料結構 棧和佇列

2021-04-20 11:45:18 字數 1983 閱讀 8387

/*------------------------------------- 

鏈佇列  

-------------------------------------*/

#include 

#include 

#define elemtype char 

#define maxsize 100

typedef

struct node     //定義節點型別 

snode; 

typedef

struct

lqueue;

void initqueue(lqueue *&qu)

void enqueue(lqueue *&qu,elemtype x)

else

}int dequeue(lqueue *&qu,elemtype &x)

int queueempty(lqueue *qu)

void main()

/*------------------------------------- 

鏈棧   

-------------------------------------*/

#include 

#include 

#define elemtype char 

typedef

struct node     //定義節點型別 

snode; 

void initstack(snode *&st)  //置空棧   

void push(snode *&st,elemtype x)    //在棧頂指標是st的鏈棧中插入乙個值為x的節點

}int gettop(snode *st,elemtype &x)           //將棧st的棧頂節點的data域值賦給x

}int pop(snode *&st,elemtype &x)             //將棧st的棧頂節點的data域值賦給x,然後刪除棧頂節點

}int stackempty(snode *st)

void main()

/*-----------------------------------

順序佇列

-----------------------------------*/

#include 

#include 

#define elemtype char 

#define maxsize 50

typedef

struct

queue;

void initqueue(queue &qu)

int enqueue(queue &qu,elemtype x)       //入隊

}int dnqueue(queue &qu,elemtype x)       //出隊

}int queueempty(queue qu)

void main()

/*---------------------------------

順序棧---------------------------------*/

#include 

#define maxsize 100 

typedef

char elemtype; 

typedef

struct

stack;

void initstack(stack &st)       //置棧空

int push(stack &st,elemtype x)  //將元素x壓入到棧st中

}int gettop(stack st,elemtype &x)//將棧st的棧頂元素賦給x,棧指標不變

}int pop(stack &st,elemtype &x)  //將棧st的棧頂元素賦給x,棧指標遞減

}int stackempty(stack st)

void main()

資料結構複習 棧和佇列

棧是一種只能在一端進行插入或刪除操作的線性表 棧的最主要特點是後進先出 lifo n個不同的元素進棧,其出棧次序總數為 catalan number c 2n nn 1 frac n 1c2n n typedef elemtype int typedef struct 共享棧 如果要用到兩個相同型別...

資料結構複習 棧和佇列 1 棧

1.棧和佇列簡介 棧和佇列是非常重要的兩種資料結構,在軟體設計中應用很多。棧和佇列也是線性結構,線性表,棧和佇列這三種資料元素和資料元素間的邏輯完全相同。差別是線性表的操作不受限制,而棧和佇列的操作收到限制,棧的操作只能在表的一端進行,佇列的插入操作在表的一端進行而其它操作在表的另一端進行,所以把棧...

資料結構複習三 棧和佇列

先簡要介紹以下棧與佇列 棧 stack 是一種後進先出 lifo 的線性表,僅在表尾 即棧頂 進行插入或刪除操作,像火車排程的頭進尾出。佇列 queue 與棧相反,是一種先進先出 fifo 的線性表,只允許在一端進行插入,而在另一端進行刪除,允許插入的一端稱為隊尾,允許刪除的一端則稱為隊頭,就像日常...