模擬實現「佇列」資料結構

2021-09-11 09:00:49 字數 1261 閱讀 4743

佇列也是一種特殊的資料結構,原則是先進先出(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就停止了,可能...