您好,登錄后才能下訂單哦!
本文實例講述了Java數據結構之有效隊列定義與用法。分享給大家供大家參考,具體如下:
/** * @描述 有序對列 * 從任何位置插入數據都是有序的 * @項目名稱 Java_DataStruct * @包名 com.java.stack * @類名 Queue * @author chenlin */ public class SequeQueue { private long[] arr; private int maxSize;// 最大空間 private int len;// 有效長度 public SequeQueue(int size) { this.maxSize = size; this.arr = new long[maxSize]; this.len = 0; } /** *插入數據 * * @param value */ public void insert(long value) { int i; for (i = 0; i < len; i++) { //得到i if (value > arr[i]) { break; } } //移動數據,把前面的數據往后移動一位 for (int j = len; j > i; j--) { arr[j] = arr[j - 1]; } arr[i] = value; len ++; } /** * 移除數據,每次移除最后一位,長度-- * 數組從0到len - 1; */ public long remove() { long value = arr[len - 1]; len --; return value; } /** * 判斷是否為空 * * @return */ public boolean isEmpty() { return (len == 0); } /** * 判斷是否滿了 * * @return */ public boolean isFull() { return (len == maxSize); } /** * 獲得隊列的有效長度 * * @return */ public int size() { return len; } public static void main(String[] args) { SequeQueue queue = new SequeQueue(8); queue.insert(22); queue.insert(33); queue.insert(44); queue.insert(534); queue.insert(21); queue.insert(55); System.out.println("億速云測試結果:"); while (!queue.isEmpty()) { System.out.println(queue.remove()); } } }
運行結果:
更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。