這是是停車場管理程式主要運用了資料結構中的佇列與棧的組合
先來看看效果:
#define maxsize 20///控制停車場停車的車輛數
typedef int elemtype;
int h=0;///用來記錄停車場停幾輛車
elemtype e;
int k=0;///記錄結構體的次序
int sa=2;
int h_wait=0;
struct time
tm[100];
typedef struct
sqqueue;
///初始化棧
void initqueue(sqqueue *&q)
void destoryqueue(sqqueue *&q)
bool queueempty(sqqueue *q)
bool enqueue(sqqueue *&q,elemtype e)
bool dequeue(sqqueue *&q,elemtype &e)
int queuelength(sqqueue *q)
void display(sqqueue *q)
int gettimehour()///得到當前的小時
int gettimesecond()///得到當前的秒
int gettimeminute()///得到當前的分鐘
void enterstation(sqqueue *&q,sqstack *&s)///進入停車場
if(a==2)
}else
}void stackdisplay(sqstack *s)
sqstack;
///初始化棧
void initstack(sqstack *&s)
void destorystack(sqstack *&s)
free(p);
}bool stackempty(sqstack *s)
void push(sqstack *&s,elemtype e)
bool pop(sqstack *&s,elemtype &e)
bool gettop(sqstack *&s,elemtype &e)
大致就這樣
資料結構中的棧與佇列
在資料結構中,有兩個知識體系特別重要,分別是棧和佇列。兩個定義方法很類似,區別在於棧是先入後出,佇列是先入先出。棧 一種先入後出的操作,主要以順序棧為基礎,棧其實類似與小時候的玩具槍的彈夾,最先按進去的子彈,最後才會發射。棧的順序實現 pragma once include include incl...
資料結構與演算法 棧與佇列的實現
棧的實現 棧既可以用鍊錶實現也可以用順序表實現,但棧一般用順序表 陣列 實現。因為所有的操作都是在棧頂,那麼在插入和刪除的情況下,這兩個表的時間複雜度都是一樣的。在這個前提下,那麼用陣列實現的話,訪問會比較快。佇列的實現 和棧一樣,佇列既可以用鍊錶實現也可以用順序表實現,但是一般用鍊錶實現。如果用順...
資料結構的棧與佇列
最近學習linux,講到了程序執行緒這一方面的內容,其中最重要的程序排程演算法,有乙個時間片輪轉排程演算法,怎麼也搞不懂,聽其他同學說可以從棧和佇列這一方面去理解,所以我又回來重新複習了一下棧與佇列的基本知識,相較於剛學棧與佇列的時候,現在又有了新的理解。使用的教材是 演算法導論 在這一章的內容中引...