数据结构之队列——顺序存储结构(php代码实现,方法二)

   & lt; php ?/* *   ,*第二种——非循环顺序队列的实现方法   ,*此方法,对第一种实现方法进行了优化,出队时不再移动元素   ,*仅仅改变头指针的位置即可   ,*   ,*此方法的优缺点:   ,*,优点:插入和删除的时间复杂度都已是O(1),效率比较高   ,*,缺点:元素删除后,前面的空间就无法再进行利用,造成空间的浪费   ,*   ,*/class  SqQueue2 {   ,,,private  SqArr美元;   ,,,private 前线;美元//指向队头元素   ,,,private 后美元;//如果队列不为空,则指向队尾元素的下一个位置      ,,,//对变量进行初始化   ,,,public  function  __construct () {   ,,,,,,,这个→美元SqArr=array ();   ,,,,,,,这个→美元面前=0;   ,,,,,,,这个→美元后=0;   ,,,}      ,,,//销毁队列   ,,,public  function  DestroyQueue () {   ,,,,,,,这个→美元SqArr=零;   ,,,,,,,这个→美元面前=0;   ,,,,,,,这个→美元后=0;   ,,,}      ,,,//清空队列   ,,,public  function  ClearQueue () {   ,,,,,,,这个→美元SqArr=array ();   ,,,,,,,这个→美元=$这→后方=0;   ,,,}      ,,,//判断队列是否为空   ,,,public  function  QueueEmpty () {   ,,,,,,,如果($ this→前==$ this→后){   ,,,,,,,,,,,return “零”;   ,,,,,,,其他}{   ,,,,,,,,,,,return “No 空”;   ,,,,,,,}   ,,,}      ,,,//取得队头元素   ,,,public  function  GetHead () {   ,,,,,,,如果($ this→front ==,这个→美元后){   ,,,,,,,,,,,return “错误”;   ,,,,,,,}   ,,,,,,,return  $ this→SqArr ($ this→前);   ,,,}      ,,,//队列的长度   ,,,public  function  QueueLenghth () {   ,,,,,,,return  $ this→后——美元这→前线;   ,,,}      ,,,//从队尾插入元素   ,,,public  function 排队(elem美元){   ,,,,,,,这个→美元SqArr ($ this→后+ +)=$ elem;   ,,,}      ,,,//从队头删除元素   ,,,public  function 出列(){   ,,,,,,,如果($ this→前==$ this→后){   ,,,,,,,,,,,return “错误”;   ,,,,,,,}   ,,,,,,,设置($ this→SqArr [$ this→前]);   ,,,,,,,这个→美元前+ +;   ,,,,,,,return “OK”;   ,,,}      ,,,//遍历队列元素   ,,,public  function  QueueTraverse () {   ,,,,,,,$ arr=数组();   ,,,,,,,,(i=这→美元面前;i<美元;这→美元后,美元我+ +){   ,,,,,,,,,,,arr[]=这→美元SqArr[我]美元;   ,,,,,,,}   ,,,,,,,return  arr美元;   ,,,}   }


数据结构之队列——顺序存储结构(php代码实现,方法二)