php中数组排序各种方法

WBOY
リリース: 2016-05-25 16:56:04
オリジナル
925 人が閲覧しました
在我们学程序时就知道排序大概有泡排序法、快速排序法、选择排序法等,同时排序方法
分为两在类内部和外部。

数组的排序方法
分为两在类:
1、内(内存)部排序
2、外部排序(数据量很大,内存放不下,需要借助外部
存储)


----------------
排序sorting是一个程序员的基本功
一:内部排序
(1)交换式排序
1、冒泡法

数组默认的传递是值传递,而不是地址传递
后面将讲到对象类型,对象默认的传递就是地址传递

//优化,将冒泡排序法封装成函数,利于以后使用

 代码如下 复制代码

function bubbleSort(&$myarr){
$temp=0;//定义一个中间变量
//外层循环
for($i=0;$ifor($j=0;$j$j++){
if($myarr[$j]>$myarr[$j
+1]){
$temp=$myarr[$j];
$myarr[$j]=
$myarr[$j+1];
$myarr[$j+1]=
$temp;
}

}
}
}

$arry=array(2,6,-4,7,9,0);
bubbleSort($arry);
print_r($arry);

2、快速排序法(神奇的快速,涉及到递归)

3、选择排序法

 代码如下 复制代码

function selectSort(&$myarr){
$temp=0;
for($i=0;$i//假设$i就是最小的数
$minval=$myarr[$i];
//记录我认为的最小数的下标
$minIndex=$i;

for($j=$i+1;$j+){
//说明我们认为的最小值,不是最小
if($minval>$myarr[$j]){

$minval=$myarr[$j];
$minIndex=$j;

}

}
//最后交换
$temp=$myarr[$i];
$myarr[$i]=$myarr[$minIndex];
$myarr[$minIndex]=$temp;
}

}

4、插入排序法

查询速度:冒泡排序法

个人最喜欢用的是交换排序了,就是大家说的泡泡排序法了,这种方法比较好用,但不适于大数据量的排序。



永久地址:

转载随意~请带上教程地址吧^^

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!