(1).問題描述:
n個人從左向右編號1~n,然後從左向右報數「1,2,1,2,1,2...」
數到1的人出隊,數到2的人立即站到佇列的最右端
繼續報數,直到所有人出列
(2).資料組織:使用順序佇列
(3)設計演算法:
1.全部入隊
2.出隊乙個,輸出編號
3.若佇列不為空,再出隊乙個元素,並將剛出列的元素進隊到隊尾
package numberoff;
//佇列類,先進先出
class queue
// 進佇列
public void enqueue(int i)
rear = (rear + 1) % maxsize;
p[rear] = i;
} // 出佇列
public int dequeue()
front = (front + 1) % maxsize;
return p[front];
} // 判斷佇列是否為空
public boolean queueempty() }
public class main
int temp;
system.out.print("出隊順序為:");
while (!q.queueempty())
}}}
輸出:進隊順序為:1 2 3 4 5 6 7 8
出隊順序為:1 3 5 7 2 6 4 8
queue求解迴圈報數刪除問題
因為剛使用queue物件,所以先記錄一下基本用法方便複習 q.empty 判斷佇列是否為空,空返回true,非空返回false q.size 返回佇列中元素的個數 q.pop 直接刪除隊首元素,沒有返回值 q.push 在隊尾壓入 q.front 返回隊首元素 q.back 返回隊尾元素 可以使用佇...
士兵佇列訓練報數問題
題意 某部隊進行新兵佇列訓練,將新兵從一開始按順序依次編號,並排成一行橫隊,訓練的規則如下 從頭開始一至二報數,凡報到二的出列,剩下的向小序號方向靠攏,再從頭開始進行一至三報數,凡報到三的出列,剩下的向小序號方向靠攏,繼續從頭開始進行一至二報數。以後從頭開始輪流進行一至二報數 一至三報數直到剩下的人...
資料結構 鏈式佇列的實現與應用舉例 報數問題
鏈式佇列是一種常見的佇列實現方式,通過鍊錶儲存佇列的各個資料元素,並設定兩個指標,分別指向隊頭和隊尾。應用佇列可以解決報數問題。報數問題 設有n個人站成一排,從左向右的編號分別為1 n,現在從左向右報數 1,2,1,2,1,2 數到 1 的人出列,數到 2 的人站到隊伍最右邊。報數過程反覆進行,直到...