* 堆疊與佇列是最常用的二種資料結構,至於什麼是堆疊與佇列已超出課程要求
* 大家現在只要知道,堆疊與佇列可以快速的在陣列二端進行元素的新增與刪除操作即可
* 陣列的堆疊操作:元素的新增與刪除只允許在陣列的一端進行
* 一、尾
* 1. array_push(array, value1[,value2...):入堆疊,回傳新陣列數量
* 2. array_pop(array):出堆疊,彈出最後一個元素,陣列長度減少1
* 二、頭部
* 1. array_unshift(array,value1[,value2...):入堆疊,傳回新陣列數量
* 2. array_shift(array):出棧,彈出頭部第一個元素,數組長度減1
* 數組的隊列操作:元素的添加與刪除允許在二端進行
* 一、尾部入隊,頭部出隊
* 1. array_push(array, value1[,value2...):入隊,回傳新陣列數
* 2. array_shift(array):出隊,彈出頭部第一個元素,陣列長度減1
* 二、頭部入隊,尾部出隊
* 1. array_unshift(array,value1[,value2...) :入隊,返回新數組數
* 2. array_pop(array):出隊,彈出最後一個元素,數組長度減少1
* 注意:
* 1. 新增的元素總是以索引元素方式出現,並且可以同時新增多個
* 2. 刪除只能一次彈出一個元素
* 3. 增刪運算都會造成陣列指針的重置操作reset()
echo '<pre class="brush:php;toolbar:false">'; $user = ['id'=>5,'name'=>'peter','gender'=>'male','age'=>30]; print_r($user); //查看数组 echo '<hr color="red">';
//第一、模擬堆疊操作:元素增刪只允許在一端進行
//1. array_push(array, value1[,value2.. .):尾部入棧,返回新數組數量
echo array_push($user, 'php中文网','www.php.cn'),'<br>'; print_r($user); //查看新成的数组
//2. array_pop(array):尾部出棧,彈出最後一個元素,數組長度減1
echo array_pop($user),'<br>'; print_r($user); //查看新成的数组
//再從尾部彈出一個元素,已經恢復到原始狀態了
echo array_pop($user),'<br>'; print_r($user); //查看新成的数组
//3. array_unshift(array,value1[,value2...):頭部入棧,返回新數組數量
echo array_unshift($user, 'php中文网','www.php.cn'),'<br>'; print_r($user); //查看新成的数组
//4. array_shift(array):頭部出棧,彈出頭部第一個元素,陣列長度減1
echo array_shift($user),'<br>'; print_r($user); //查看新成的数组 echo array_shift($user),'<br>'; print_r($user); //查看新成的数组
//第二: 模擬佇列操作: 增刪必須在二端進行,不允許在同一端完成
// 1. array_push(array, value1[,value2...):尾部入隊,返回新數組數量
echo array_push($user, 'php中文网','www.php.cn'),'<br>'; print_r($user); //查看新成的数组
// 2. array_shift (array):頭部出隊,彈出頭部第一個元素,數組長度減1
echo array_shift($user),'<br>'; //出队的id=5这个元素,当然返回的只有值5 print_r($user); //查看新成的数组
// 3. array_unshift(array,value1[,value2...):頭部入隊,返回新數組數量
echo array_unshift($user, '华为','小米'),'<br>'; print_r($user); //查看新成的数组
// 4. array_pop(array):尾部出隊,彈出最後一個元素,數組長度減1
echo array_pop($user),'<br>'; print_r($user); //查看新成的数组