* 堆栈与队列是最常用的二种数据结构,至于什么是堆栈与队列已超出课程要求
* 大家现在只要知道,堆栈与队列可以快速的在数组二端进行元素的添加与删除操作即可 * 数组的堆栈操作:元素的添加与删除只允许在数组的一端进行 * 一、尾部 * 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>'; $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); //查看新成的数组
|
|