PHP数组和数据结构

数组和数据结构之“链表”

链表能存储多个数据元素,他就像一条线一样,把所有存储的数据元素连在一起,所以也称作是线性的数据结构。

单链表

双链表

循环链表

数组和数据结构之“散列表”

散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的一种数据结构。

数组和数据结构之“栈”

栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的原则存储数据(LIFO, Last In First Out)。

数组实现“栈”的核心操作

$stack = array(34, 35, 321, 98, 20);
$item  = array_pop($stack); //出栈
$item  = push($stack, $item); //入栈

数组和数据结构之“队列”

队列就是是先进先出(FIFO, First-In-First-Out)的线性表。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。

PHP数组解决“约瑟夫环”问题

一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。

要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。

Last updated

Was this helpful?