靜態陣列實現佇列

2021-07-06 02:14:22 字數 962 閱讀 1912

#include

#include

#define queue_type int

/*佇列元素的型別*/

void creat_queue(size_t size);

/*建立乙個佇列,這只適用於使用動態分配陣列的佇列,鏈式的不

需要,普通陣列實現的佇列在編譯時就已經確定大小*/

void destroy_queue();

//銷毀乙個佇列,這只適用於鏈式的和動態分配陣列的佇列,因為普通陣列會被自動清棧。

void insert(queue_type value);

void delete();

//從佇列裡移除乙個元素,並將其丟棄

queue_type first();

//返回佇列的第乙個元素值,但不刪除

int is_empty();

int is_full();

標頭檔案 //

#include

#include

#include"queue.h"

#define false 0

#define true 1

//用乙個普通陣列(迴圈陣列)實現佇列

//陣列的長短用#define 定義

#define queue_size 100

#define array_size (queue_size+1)  //陣列的長度

queue_type queue[array_size];

size_t front = 1;

size_t rear = 0;

void insert(queue_type value)

}void delete()

}queue_type first()

}int is_empty()

//這時,佇列裡實際上沒有真正滿

int is_full()

}int main()

靜態陣列實現佇列

前言 與線性表 鍊錶 棧類似,佇列也有順序儲存和鏈式儲存兩種儲存方法。以順序儲存為例。今天主要講靜態陣列實現佇列的過程。日常生活中,去超市購物,結賬,去售票處買票,都是典型的佇列。概念 佇列是一種先進先出的資料結構。佇列簡稱隊,只允許在表的尾端進行插入,而在表的首端進行刪除。向佇列中插入元素稱為入隊...

資料結構 靜態陣列實現迴圈佇列

靜態陣列實現迴圈佇列不需要考慮空間的釋放。迴圈佇列的實現主要重點是在兩個指標的比較上。include define maxsize 10 define elemtype int define status int define ok 1 define error 0 typedef struct q...

C語言實現使用靜態陣列實現迴圈佇列

佇列是一種先進先出的的資料結構,我們同樣可以使用陣列 鍊錶等來實現。我們可以在佇列的尾部進行插入元素,在佇列的頭部取出元素。普通的佇列由於空間利用率不高,所以我們一般都用迴圈佇列。迴圈佇列中最重要的的兩個操作就是判斷是否為空和是否已滿。當head tail時,表示隊列為空。當 tail 1 max ...