博客列表 >数组模拟堆栈与队列操作 2018.8.23

数组模拟堆栈与队列操作 2018.8.23

李逍遥
李逍遥原创
2018年08月31日 18:56:39598浏览

实例

<?php
// 使用数组来模拟 堆栈的队列操作
//堆栈是先进后出  后进先出
//队列是先进先出

header('content-type:text/html;charset=utf-8');
$userName = ['name'=>'李逍遥','sex'=>'man','age'=>'23'];
echo '<pre>',print_r($userName,true);

//入栈

echo '入栈前数组长度',count($userName),'<br>';
// array_push() 返回新数组的长度 = count()
array_push($userName,'入栈的字符串');
echo '入栈后 数组长度',count($userName),'<br>';
print_r($userName);

//出栈
//array_pop()  出栈的顺序是从后往前  后进先出
echo array_pop($userName),'<br>';
echo array_pop($userName),'<br>';
echo array_pop($userName),'<br>';

echo '出栈后的数组内容:','<br>',print_r($userName);
echo '<hr>';


//队列操作
// array_unshift() 入队
echo array_unshift($userName,'新入队的字符串'),'<br>';
echo '入队后的数组内容:','<br>',print_r($userName);
echo '<br>';
// array_shift()  出队
echo array_shift($userName);
echo '<br>';
echo '出队后的数组内容:','<br>',print_r($userName);
echo '<hr>';
$userName1 = ['name'=>'李逍遥','sex'=>'man','age'=>'23'];
echo '<pre>',print_r($userName1,true);

// 模拟队列操作 增删只能在两端进行  不能在同一端进行
//尾部进队
array_push($userName1,'PHP');
print_r($userName1);
echo '<br>';

//头部出队
array_shift($userName1);
print_r($userName1);

//头部进队
array_unshift($userName1,'Python');
print_r($userName1);

//尾部出队
array_pop($userName1);
print_r($userName1);

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议