您的位置:首页 > 理论基础 > 数据结构算法

php学习第一章:PHP基础语法(三)数据结构与算法:1、线性表、队列、栈

2012-11-21 11:54 155 查看
一、线性表

栈是一种特殊的线性表,所以先来看一下线性表是什么东东。

1、定义:线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。一般地,一个线性表可以表示成一个线性序列:k1,k2,…,kn,其中k1是开始结点,kn是终端结点。

2、结构:

A=(a1,a2,…,ai,ai+1,…,an) //比如A是一个线性表,它有n个结点,其中a1是开始结点,an是终端结点,a2的前驱结点是a1,后继结点为a3

//在实际应用中,线性表都是以、队列、字符串数组等特殊线性表的形式来使用的。

二、队列

队列是一种线性表,它只允许在表的前端进行删除操作,而表的后端进行插入操作,即“先进先出”。有点像公交车,前门上车,后门下车,理论上最先上车的人最先下,最后上车的人最后下(当然实际情况并非如此)。在食堂排队打饭,后来的只能排在队的后面,先来的排在前面,先来的先打饭,然后离开这个队列,后面的加入到这个队列。

三、栈

栈也是一种线性表,它限制插入和删除只能发生在一个位置上进行,该位置是线性表的末端,叫做栈的顶。它是后进先出的,与队列正好相反,删除顶叫出栈,插入叫入栈。

这个有点像把一个石头放到一个瓶子里,倒进去的时候(假设这些石头大小是一样的,而且和那个瓶口一样大),是入栈,后加入的放在上面,先加入的放在下面,倒出来的时候,上面的石头先出来,下面的石头后出来。

php中例如数组的入栈和出栈,array_push() 是数组的末尾加上一个数据,array_pop是删除末尾的一个数据。

其语法如:array_push($array,$data);//把元素$data加入到数组$array中,

     array_pop($array); //删除数组$array最后一个元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: