C 佇列(陣列描述)

2021-10-10 18:57:13 字數 966 閱讀 7510

將一維陣列視作環形,即陣列最後一項的下一項是陣列首項。

將佇列中的元素按照順序存入環形陣列中,則只需記錄隊首和隊尾的下標即可確定整個佇列在陣列中的位置。

在該迴圈陣列中,隊尾插入(陣列未滿時)和隊首刪除的時間複雜度均為o(1)。

//定義陣列描述的迴圈佇列

template

<

class

t>

class

arrayqueue

~arrayqueue()

//析構

bool

empty()

const

//判斷佇列是否為空

intsize()

//佇列長度

t&top()

//隊首元素值

void

push

(const t& theelement)

//隊尾插入新元素

queuefront =0;

queueback = arraysize -1;

delete

arr;

arr = newarr;

arraysize *=2

;}queueback =

(queueback +1)

% arraysize;

arr[queueback]

= theelement;

length++;}

void

pop(

)//隊首刪除元素

private

:int queuefront;

//隊首座標

int queueback;

//隊尾座標

t* arr;

//存放陣列

int length;

//佇列長度

int arraysize;

//陣列容量

};

佇列 JAVA描述

佇列是一種特殊的線性表,其特性體現在佇列只允許在表尾插入資料元素,在表頭刪除元素,所以佇列是一種操作受限的線性表,具有先進先出的特點。允許進行插入的一端稱為隊尾,允許進行刪除的一端稱為隊首。佇列也分為順序和鏈式兩種儲存結構。如下為佇列介面的 public inte ce iqueue 1 迴圈順序佇...

鏈式儲存佇列 用C語言描述

include include 佇列的鏈式儲存 佇列的頭 front 必須指向鍊錶的頭結點,佇列的尾 rear 指向鍊錶的尾結點 typedef int elementtype elementtype error 1 typedef struct node ptrtonode 佇列中的結點 stru...

迴圈佇列(java描述)

佇列 queue 是先進先出的線性儲存結構,在隊首刪除元素,在隊尾插入元素。而迴圈佇列更好的利用了佇列的儲存空間,當插入到隊尾時,如果隊首元素已經出隊,則從隊首接著插入。front 隊頭指標 rear隊 尾指標 隊列為空時 front rear 隊列為滿時 rear 1 maxsize front ...