我寫的迴圈佇列

2021-05-27 12:21:12 字數 914 閱讀 2474

今天看了下c和指標的 標準函式庫那一張。複習了以前知道的一些函式。rand(); srand(); time(),等函式。學習到兩個很有用的函式qsort, bsearch函式。這兩個函式中也有函式指標的應用。。對於signal函式,還有一些疑惑.

另外,聯想到之前自己寫的協議棧**中太多佇列了,每乙個佇列都是自己維護。於是寫了乙個自己的迴圈 佇列。檔案如下 my_queue.h: 以後c語言用迴圈佇列直接用這個

#ifndef my_queue_h

#define my_queue_h

typedef int type;

#define queue_size 5

typedef struct

my_queue;//我的迴圈佇列

int in_queue(my_queue *temp,type t);

int out_queue(my_queue *temp,type *t);

int is_empty(my_queue *temp);

int is_full(my_queue *temp);

int in_queue(my_queue *temp,type t)

int out_queue(my_queue *temp,type *t)

int is_empty(my_queue *temp)

int is_full(my_queue *temp)

#endif

另外在main函式中。定義了乙個

my_queue rev_buf;

然後有資料之後,測試了一下qsort()函式

qsort(rev_buf.content,rev_buf.count,sizeof(type),my_compare);

int my_compare(void const *a,void const *b)

佇列 迴圈佇列

迴圈佇列是乙個大小確定的特殊佇列,它的特殊體現在迴圈,之前提到的普通佇列,我們是用鍊錶來實現的,在這裡,由於迴圈佇列是乙個長度確定的佇列,所以我們可以拿順序表來實現。迴圈佇列的操作與普通佇列類似,不過不同的地方在於當rear走到capacity 1並且front在0號元素位置的時候,當此時再有元素入...

佇列 迴圈佇列的實現

為了可以重新利用佇列底層陣列中已刪除元素所佔的空間,消除可能出現的 假滿 現象,將順序佇列改進為迴圈佇列。迴圈佇列是首尾相連的佇列 當front rear變數達到底層陣列的capacity 1之後,再向前以為就變成0.入隊 1 判斷佇列是否已滿,已滿丟擲越界異常 2 不滿的話把元素查到隊尾,並且re...

迴圈佇列 622 設計迴圈佇列

設計你的迴圈佇列實現。迴圈佇列是一種線性資料結構,其操作表現基於fifo 先進先出 原則並且隊尾被連線在隊首之後以形成乙個迴圈。它也被稱為環形緩衝器。迴圈佇列的乙個好處是我們可以利用這個佇列之前用過的空間。在乙個普通佇列裡,一旦乙個佇列滿了,我們就不能插入下乙個元素,即使在佇列前面仍有空間。但是使用...