實驗學時:
實驗型別:
(設計型)
一、實驗目的
1.理解並掌握佇列的邏輯結構和順序儲存結構,了解迴圈佇列的特點;
2.掌握迴圈佇列中基本操作的相關演算法;
3.程式設計實現相關演算法;
4.學會利用迴圈佇列解決實際問題。
二、實驗條件
visual c++
三、實驗原理及相關知識
1.迴圈佇列儲存結構描述
#define maxsize 100
最大佇列長度
typedef struct
qelemtype *base;
儲存空間基址
int front;
頭指標int rear;
尾指標}sqqueue;
2.基本操作的演算法描述
設下標為
index
,佇列長度為
mindex_next = ( index+1 ) % m
實驗中涉及的三個關鍵操作時迴圈佇列中求佇列長度、入隊和出隊操作。
(1)求長度
所謂求佇列長度,即技術佇列中元素的個數。演算法
思想根據
迴圈佇列
的結構特
徵可以用
公式q.rear-q.front+
maxsize
%maxsize
直接計算出佇列的長度。
演算法描述
status queuelength(sqqueue q)
佇列和環形佇列的實現
1 基本介紹 2 陣列模擬佇列 public class arrayqueuedemo catch exception e break case h trycatch exception e break case e scanner.close flag false break default br...
迴圈佇列的基本實現
2.完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現 每種基本運算用乙個函式來實現 基本運算包括 初始化init sqqueue運算 判隊空empty sqqueue運算 入隊en sqqueue運算 出隊de sqqueue運算 取隊頭元素gethead sqqueue運算。inclu...
迴圈佇列的基本操作
一 迴圈佇列的基本概念。佇列是線性表的一種,相對於棧的先進後出 filo 佇列是先進先出的 fifo 因此只能在一端輸入 隊尾rear 在另一端輸出 隊頭front 順序佇列的隊頭指向當前佇列第乙個元素的位置,隊尾指向當前元素的下乙個位置的下乙個位置,但是當隊滿時不能入棧,存在問題 設陣列長度為m,...