c 筆記 迴圈佇列

2021-10-23 20:32:02 字數 3248 閱讀 7677

標題內容

編者炎芯隨筆

發布時間

2023年8月26日13:53:31

版本v-1.0

#pragma once

using

namespace std;

typedef

struct stpackhead

stpackhead;

typedef

struct

_data,

*pdata;

typedef

struct queue

queue,

*pqueue;

bool

createqueue

(pqueue q,

int maxsize)

;bool

fullqueue

(pqueue q)

;bool

emptyqueue

(pqueue q)

;int

getqueuesize()

;//add by lyk 2023年11月27日14:06:24

bool

enqueue

(pqueue q, _data* data)

;bool

dequeue

(pqueue q, _data *data)

;bool

clequeue

(pqueue q)

;void

destroyqueue

(pqueue q)

;

#include

"stdafx.h"

#include

"c_singlecirculist.h"

_data *g_pbase;

int g_queue_size;

//add by lyk 2023年11月27日14:06:24

專案

內容函式名

createqueue

函式引數

pqueue q, int maxsize

功能說明

建立佇列

使用情況

布林值示例

參見如下**

//建立佇列,分配記憶體空間

bool

createqueue

(pqueue q,

int maxsize)

#if 0if(

null

== q-

>pbase)

#endif

g_pbase = q-

>pbase;

memset

(q->pbase,0,

sizeof

(_data)

*maxsize);

q->front =0;

//初始化引數

q->rear =0;

q->maxsize = maxsize;

g_queue_size =0;

//add by lyk 2023年11月27日14:06:24

return

true

;}

專案

內容函式名

enqueue

函式引數

pqueue q, _data* data

功能說明

入隊操作

使用情況

布林值示例

參見如下**

//入隊

bool

enqueue

(pqueue q, _data* data)

elseif(

fullqueue

(q))

else

}

專案

內容函式名

dequeue

函式引數

pqueue q, _data* data

功能說明

出隊操作

使用情況

布林值示例

參見如下**

//出佇列

bool

dequeue

(pqueue q, _data *data)

else

}

專案

內容函式名

clequeue

函式引數

pqueue q

功能說明

清空佇列

使用情況

布林值示例

參見如下**

//清空佇列

bool

clequeue

(pqueue q)

else

}

專案

內容函式名

destroyqueue

函式引數

pqueue q

功能說明

銷毀佇列操作

使用情況

void

示例參見如下**

//銷毀佇列操作

void

destroyqueue

(pqueue q)

}

專案

內容函式名

fullqueue

函式引數

pqueue q

功能說明

判斷佇列是否已填滿

使用情況

void

示例參見如下**

bool

fullqueue

(pqueue q)

專案

內容函式名

emptyqueue

函式引數

pqueue q

功能說明

判斷佇列是否已填空

使用情況

void

示例參見如下**

bool

emptyqueue

(pqueue q)

專案

內容函式名

getqueuesize

函式引數

void

功能說明

獲取佇列的大小

使用情況

void

示例參見如下**

//add by lyk 2023年11月27日14:06:24

intgetqueuesize()

佇列 迴圈佇列(C )

定義 佇列 queue 是只允許在一端進行插入操作,在另一端進行刪除操作的線性表。遵守先進先出的規則。資料儲存方式 順序儲存結構 這種結構事先要基本確定佇列的大小,不支援動態分配儲存空間,所以插入和刪除元素比較省時,但是會造成空間的浪費。為了節省空間,引入了迴圈佇列,本質上也是順序儲存結構。鏈式儲存...

c 迴圈佇列

wang 程式設計日記一 實現迴圈佇列 類模板方便以後使用 首先是虛基類,相當於宣告了幾個佇列的基本功能 template t class queue virtual bool enqueue const t x 0 virtual bool dequeue t x 0 virtual bool g...

迴圈佇列 順序佇列(C )

佇列 queue 是一種限定訪問位置的線性變。他允許在表的一端插入,在另一端刪除。這個和計算機排程策略中的先來先服務fcfs first come first served 是一樣的。佇列中可以插入的一端為隊尾 rear 允許刪除的一端稱為隊頭 front 佇列也分為兩種,一種是用陣列的儲存表示,一...