首页 » PHP教程 » php实现排名技巧_排序算法用PHP实现的排序算法汇总值得收藏

php实现排名技巧_排序算法用PHP实现的排序算法汇总值得收藏

访客 2024-11-05 0

扫一扫用手机浏览

文章目录 [+]

用PHP实现的排序算法汇总

总而言之用PHP来实现打算机的排序算法,在旁人来看是一个很蠢的事情。
这篇条记紧张是帮助PHP程序员入门和理解打算机算法实现事理,喜好研究算法的朋友们欢迎收藏。

php实现排名技巧_排序算法用PHP实现的排序算法汇总值得收藏

一、冒泡排序算法:

php实现排名技巧_排序算法用PHP实现的排序算法汇总值得收藏
(图片来自网络侵删)

冒泡排序大略的理解便是一组数据,两个两个进行比较,把最小的气泡升到最前面,把最大的气泡沉到底。
终极实现对数据的排序。

PHP源码:

function BubbleSort(array $container){ $count = count($container); for ($j = 1; $j < $count; $j++) { for ($i = 0; $i < $count - $j; $i++) { if ($container[$i] > $container[$i + 1]) { $temp = $container[$i]; $container[$i] = $container[$i + 1]; $container[$i + 1] = $temp; } } } return $container;}

二、快速排序算法:

从数列中挑出一个元素,称为 “基准”(pivot)。
所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。
C 措辞中的 qsort便是快速排序。

PHP源码:

function QuickSort(array $container){ $count = count($container); if ($count <= 1) { return $container; } $pivot = $container[0]; $left = $right = []; for ($i = 1; $i < $count; $i++) { if ($container[$i] < $pivot) { $left[] = $container[$i]; } else { $right[] = $container[$i]; } } $left = QuickSort($left); $right = QuickSort($right); return array_merge($left, [$container[0]], $right);}

三、插入排序算法:

算法适用于少量数据的排序,韶光繁芜度为O(n^2)。
是稳定的排序方法。
插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将末了一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。
在第一部分排序完成后,再将这个末了元素插入到已排好序的第一部分中。

PHP源码:

function InsertSort(array $container){ $count = count($container); for ($i = 1; $i < $count; $i++){ $temp = $container[$i]; $j = $i - 1; // Init while($j >= 0 && $container[$j] > $temp){ $container[$j+1] = $container[$j]; $j--; } if($i != $j+1) $container[$j+1] = $temp; } return $container;}

四、选择排序算法:

它的事情事理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

PHP源码:

function SelectSort(array $container){ $count = count($container); for ($i = 0; $i < $count; $i++){ $k = $i; for ($j = $i + 1; $j < $count; $j++){ if($container[$j] < $container[$k]){ $k = $j; } } if($k != $i){ $temp = $container[$i]; $container[$i] = $container[$k]; $container[$k] = $temp; } } return $container;}

由于篇幅有限,在头条中暂时分享4种PHP实现的算法。
更多排序方法如大根堆排序、飞梭排序、希尔排序、归并排序等,欢迎点击下面链接进行阅读。

干系源码和详细阐明均已发布在“菠菜园”中,大家也可以百度搜索“菠菜园”查看更多编程知识哦~

本文转自菠菜园(www.zkii.net),原文:https://www.zkii.net/tech/php/2604.html

相关文章

台州网站SEO运营,步骤布局与优化方法介绍

在互联网信息爆炸的今天,网站SEO(搜索引擎优化)已经成为企业提升网络曝光度和竞争力的重要手段。作为浙江省重要的沿海城市,台州拥有...

PHP教程 2025-03-31 阅读1 评论0