/*
** @author: 田源
* @date: 2021-03-12 19:26
* @description: 普通佇列實現**/
(()=>
// 入隊操作
push
(x)this
.arr[
this
.tail]
= x;
this
.tail +=1;
}// 出隊操作
pop(
)this
.head +=1;
}// 佇列是否為空
isempty()
// 佇列是否滿了
isfull()
// 獲取隊首元素
getfront()
// 佇列資料長度
getsize()
// 佇列擁有元素
getitem()
}}let queue =
newqueue(5
);console.
log(queue.
isempty()
);queue.
push(1
);queue.
push(2
);queue.
getitem()
; queue.
pop();
console.
log(queue.
getsize()
);queue.
getitem()
;})(
);
/*
** @author: 田源
* @date: 2021-03-12 19:26
* @description: 迴圈佇列實現**/
(()=>
// 入隊操作
push
(x)this
.arr[
this
.tail]
= x;
this
.tail +=1;
this
.count +=1;
if(this
.tail ==
this
.arr.length)
this
.tail =0;
}// 出隊操作
pop(
)this
.head +=1;
this
.count -=1;
if(this
.head ==
this
.arr.length)
this
.head =0;
}// 佇列是否為空
isempty()
// 佇列是否滿了
isfull()
// 獲取隊首元素
getfront()
// 佇列資料長度
getsize()
// 佇列擁有元素
getitem()
}}let queue =
newqueue(6
);console.
log(queue.
isempty()
);queue.
push(1
);queue.
push(2
);queue.
push(3
);queue.
push(4
);queue.
push(5
);queue.
getitem()
; console.
log(queue.
isfull()
);queue.
pop();
console.
log(queue.
getsize()
);queue.
getitem()
; console.
log(queue.head);}
)();
佇列的操作與實現 迴圈佇列
由於順序佇列有 假溢位 的缺點,所以在應用中,運用更多的是迴圈佇列來實現佇列的順序儲存。由於引用傳引數,所以原始檔需要.cpp字尾,即c 檔案儲存。迴圈佇列的判空條件為 q.rear q.fornt 迴圈佇列的判讀隊滿的條件是 q.rear 1 maxsize q.fornt 下面是佇列實現的儲存型...
迴圈順序佇列與鏈式佇列實現
佇列是一種先進先出的資料結構,分順序儲存結構和鏈式儲存結構兩種。順序儲存結構中廣泛使用的是迴圈佇列,也是佇列使用中最多的一種。下面將分別實現這兩種佇列的基本操作。includeusing namespace std const int maxsize 100 class queue int isem...
迴圈佇列與鏈佇列的簡單實現
為充分利用向量空間,克服 假溢位 現象的方法是 將向量空間想象為乙個首尾相接的圓環,並稱這種向量為迴圈向量。儲存在其中的佇列稱為迴圈佇列 circular queue 通過上圖可以看出,如果使用順序表作為佇列的話,當處於d狀態則不能繼續插入新的隊尾元素,否則會因為陣列越界而導致程式 被破壞。當隊列為...