![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php算法
文章平均质量分 63
大叔说码
笨鸟先飞!切莫妄自菲薄!1548604122@qq.com
展开
-
冒泡排序和选择排序
给一个一维数组排序的两种基本算法:一、冒泡排序:对数组单元进行相邻两两比较,相邻元素满足条件则相互交换,循环一次在数组最右端得到本次循环的最大值具体代码实现如下:// 冒泡排序function bubbling($arr) { // 判断传过来的是否是一个数组 if(!is_array($arr)) { return false; }原创 2016-12-05 20:53:09 · 418 阅读 · 0 评论 -
写一个函数,确保多个进程同时写入一个文件成功
具体代码实现如下:/** * @param string $path 操作文件路径 * @param string $mode 打开文件方式 * @param string $data 往文件中写入内容 * return 成功返回true,失败则返回false **/function writeData($path,$mode,$data) { $fh = fopen($原创 2016-12-06 10:29:57 · 2449 阅读 · 2 评论 -
约瑟夫环问题
约瑟夫环问题:一群猴子排成一圈,按1,2,3,4,...,n依次编号,然后从第一只,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,再把它踢出去,... ,如此不停地进行下去,直到最后剩下一只猴子为止,那只猴子就叫大王,,要求编程模拟过程,输入n,m,输出最后那个大王的编号具体代码实现如下:/** * [猴子选大王] * @param [type] $m [猴子数] *原创 2016-12-05 23:30:01 · 522 阅读 · 0 评论 -
二分查找和顺序查找
具体代码实现如下:二分查找:// 二分查找/** * @param array $arr 查找的数组 * @param int $low 数组起始元素下标 * @param int $hig 数组末尾元素下标 * @param $k 所要查找的元素 * return 成功返回数组下标,失败则返回-1 **/function bin_sort($arr,$low,$原创 2016-12-06 10:59:13 · 478 阅读 · 0 评论 -
写一个算法,使对象可以像数组一样进行foreach循环,要求属性必须是私有的(Interator模式的PHP5实现,写一类实现Interator接口)
写一个算法,使对象可以像数组一样进行foreach循环,要求属性必须是私有的(Interator模式的PHP5实现,写一类实现Interator接口)具体代码实现如下:class Test implements Iterator { private $item = array(1,2,3,4,5); public function __construct() { } // 重原创 2016-12-06 10:54:18 · 1605 阅读 · 0 评论 -
php flock 使用实例
本篇文章转载来源:http://blog.csdn.net/fdipzone/article/details/43839851php flock 使用实例[php] view plain copybool flock ( resource $handle , int $operation [, int &$wouldblock转载 2016-12-06 10:35:25 · 403 阅读 · 0 评论 -
写一个二维数组排序算法
下面给出两种方法实现二维数组排序方法一:使用asort和arsort函数/* * @param array $arr 要排序的数组 * @param string $keys 需要排序的键名 * @param string $order 排序规则,0-升序、1-降序 * return array $new_arr 排序好的数组*/function array_sort($a原创 2016-12-05 23:23:05 · 2213 阅读 · 0 评论 -
用PHP实现一个双向队列
用PHP实现一个双向队列,具体代码实现如下:class Queue { // 存储 protected $storage = array(); // 入头 public function unshift($element) { return array_unshift($this->storage,$element); } // 入尾 public function pu原创 2016-12-05 21:53:12 · 1225 阅读 · 0 评论 -
快速排序和插入排序
下面介绍用快速排序法和插入排序法来给一个一维数组排序一、快速排序法:定一个标尺,把元素小于这个标尺的放在一个数组中,大于这个标尺的元素放在另一个数组中,得到两个数组分别进行上一步同样的操作,最后合并数组具体代码实现如下:// 快速排序法:function quick_sort($arr) { // 判断传过来的是否是一个数组 if(!is_array($arr)) {原创 2016-12-05 21:42:39 · 667 阅读 · 0 评论 -
判断单链表是否存在环
判断单链表是否存在环,判断两个链表是否相交问题详解有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如何找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则...转载 2018-02-25 21:27:33 · 322 阅读 · 0 评论