庖丁解牛 資料結構(三)之陣列模擬環形佇列

2021-10-05 18:39:30 字數 1095 閱讀 8658

環形佇列,個人粗粗的理解,可以反覆使用,上一張寫的資料模擬佇列是乙個一次性佇列用過就不能用了,環形佇列是取出資料後可重複利用空餘時間。

可用2 已用

3 已用

public static void main(string args)  catch (exception e) 

break;

case 'a':

system.out.println("請輸入乙個數字");

int value = sc.nextint();

queue.addqueue(value);

break;

case 'h':

int h = queue.headqueue();

system.out.printf("頭資料為:%d\n", h);

break;

case 'e':

loop = false;

break;}}

}}class circlequeue

//檢視方法

public void showqueue()

/*** front 開始遍歷,問題是有多少個資料 front + ? ,注意front 環形佇列

*/for (int i = front; i < front + size(); i++)

}//新增方法

public boolean addqueue(int ele)

arr[rear] = ele;

rear = (rear + 1) % maxsize;

return true;

}//獲取方法

public int getqueue()

int value = arr[front];

front = (front + 1) % maxsize;

return value;

}//顯示頭佇列

public int headqueue()

public void isnull()

}/**

* 環形佇列中有效資料個數

** @return

*/public int size()

庖丁解牛 資料結構(二)之陣列模擬佇列

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。去銀行排對取錢 public class arrayqueuedemo catch ex...

庖丁解牛 資料結構(一)之稀陣列

稀疏陣列可以看做是普通陣列的壓縮,簡單點 稀疏陣列中都是有用資料且,結構int sparsearray new int sum 1 3 說明 sum為二維陣列中有用資料個數。棋盤 標準的二維陣列 11 11 0代表無子 1 代表黑子 2 代表 白子 將上述二維陣列轉為稀疏陣列如下展示 說明 第一行 ...

資料結構之陣列模擬棧

棧的特點即先進後出,採用陣列模擬棧,實現棧的這一特性主要是靠定義乙個指標 索引 指標的初始位置指向的是 1 以下給出 package com.ebiz.stack author yhj create 2019 07 20 14 20 陣列模擬棧 public class arraystack 驗證棧...