佇列也是一種特殊的資料結構,原則是先進先出(fifo)。只允許在一端插入,稱為「隊尾」,在另一端刪除,稱為「隊頭」。
佇列可以用陣列、鍊錶實現,但是用鍊錶實現更優。以下就是使用鍊錶實現的。
queue.h
#pragma once
#include "commen.h"
//佇列-->單鏈表實現
typedef int qdatatype;
typedef struct queuenode//節點結構
queuenode;
typedef struct queue//佇列
queue;
void queueinit(queue* q);
void queuedestory(queue* q);
void queuepush(queue* q, qdatatype x);//在隊尾插入
void queuepop(queue* q);//在隊頭刪除
int queuesize(queue* q);
int queueempty(queue* q);
qdatatype queuefront(queue* q);//取隊頭資料
qdatatype queueback(queue* q);//取隊尾資料
void queuetest();
queue.c
#define _crt_secure_no_warnings 1
#include "queue.h"
void queueinit(queue* q)
void queuedestory(queue* q)
q->_front = q->_rear = null;
}//申請乙個節點
queuenode* buynewnode(qdatatype x)
void queuepush(queue* q, qdatatype x)//在隊尾插入
else }
void queuepop(queue* q)//在隊頭刪除 }}
int queuesize(queue* q)
return size;
}int queueempty(queue* q)
qdatatype queuefront(queue* q)//取隊頭資料
qdatatype queueback(queue* q)//取隊尾資料
void queuetest()
}
資料結構 陣列模擬實現佇列
佇列是乙個有序列表,可以用陣列或是鍊錶來實現,它遵循先進先出原則 佇列本身是有序列表,若使用陣列的結構來儲存佇列的資料 陣列實現佇列 class arrayqueue 判斷佇列是否滿 滿返回true,沒滿返回false public boolean isfull 判斷佇列是否為空他,頭尾相等為空 空...
模擬實現「棧」資料結構
棧 是一種資料結構 特殊的線性表。原則是後進先出 lifo 只允許在固定的一一端進行插入 刪除,稱為 棧頂 而另一端稱為 棧底 棧 可以用陣列 鍊錶來模擬實現,但是陣列方式更優,以下我們就使用陣列來模擬實現。stack.h pragma once include commen.h 棧 陣列實現 ty...
資料結構 雜湊表及其模擬實現
直接定址法 hashfunc date a date b a,b為常數 從雜湊衝突的位置,找下乙個空餘位置插入元素。尋找方式有兩種,線性探測和二次探測。直接向後 1查詢。h i h0 i 2 或者h i h0 i 2 de需要的原因,此位置不可以插入元素,也不可設定為em 查詢時遇em就停止了,可能...