一.入佇列不會滿的情況下,會覆蓋掉尾部的資料.
二.快速從尾部獲取指定個數個資料.
public
class loopqueueimplements serializable
// 以乙個初始化元素來建立迴圈佇列
public
loopqueue(t element)
/*** 以指定長度的陣列來建立迴圈佇列
* * @param element
* 指定迴圈佇列中第乙個元素
* @param initsize
* 指定迴圈佇列底層陣列的長度
*/public
loopqueue(t element, int initsize)
/*** 獲取迴圈佇列的大小
* * @return
*/public
intsize()
return rear > front ? rear - front : capacity - (front - rear);
}/**
* 入佇列
* * @param element
*/public
void
offer(t element)
elementdata[rear++] = element;
// 如果rear已經到頭,那就轉頭
rear = rear == capacity ? 0 : rear;
}/**
* 出佇列
* * @return
*/public t poll()
// 保留佇列的rear端的元素的值
@suppresswarnings("unchecked")
t oldvalue = (t) elementdata[front];
// 釋放佇列的rear端的元素
elementdata[front++] = null;
// 如果front已經到頭,那就轉頭
front = front == capacity ? 0 : front;
return oldvalue;
}// 返回佇列頂元素,但不刪除佇列頂元素
@suppresswarnings("unchecked")
public t element()
return (t) elementdata[front];
}// 判斷迴圈佇列是否為空佇列
public boolean isempty()
// 清空迴圈佇列
public
void
clear()
/*** 從尾部獲取指定個數個資料
* * @param count
* @return
*/public listgetelementsformrear(int count)
return result;
}public
static
void
main(string args)
}}
VC版貪吃蛇
此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。具體的關於snake的設計,請參見我的部落格 c 版貪吃蛇遊戲 下面是vc下的遊戲介面截圖 在這裡說一下vc下與c 不同的及新家的東西。cpp view plain copy 引入庫 ...
pygame Python 版貪吃蛇
貪吃蛇是個非常簡單的遊戲,適合練手。先來看一下我的遊戲截圖 玩法介紹 回車鍵 開始遊戲 空格鍵 暫停 繼續 方向鍵 或 wsad 鍵 控制移動方向。食物分紅 綠 藍三種,分別對應 10 分 20 分 30 分,每吃乙個食物增加對應分值,每增加 100 分速度加快一級,沒有設定關卡,我玩到 1100 ...
Qt版貪吃蛇遊戲
qt版貪吃蛇遊戲 以下是windows 7下執行截圖 以下是ubuntu下執行截圖 我在windows下編寫好之後,將原始碼在ubuntu下重新編譯執行,就可以在ubuntu下執行,這也充分體現出qt一次編寫,到處執行的優勢。關於貪吃蛇遊戲的設計原理就不講了,具體可以參考我的部落格 c 版貪吃蛇遊戲...