php冒泡排序快速排序 php 冒泡排序算法


$a=array('3','8','1','4','11','7');
print_r($a);
$len = count($a);
//从小到大
for($i=1;$i<$len;$i++)
php冒泡排序快速排序 php 冒泡排序算法
{
for($j=$len-1;$j>=$i;$j--)
if($a[$j]<$a[$j-1])
{//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了
$x=$a[$j];
$a[$j]=$a[$j-1];
$a[$j-1]=$x;
}
}
print_r($a);j

//另一种方法 从小到大

$b=array('4','3','8','9','2','1');
$len=count($b);
for($k=1;$k<$len;$k++)
{
for($j=$len-1,$i=0;$i<$len-$k;$i++,$j--)
if($b[$j]<$b[$j-1]){

//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了
$tmp=$b[$j];
$b[$j]=$b[$j-1];
$b[$j-1]=$tmp;
}
print_r($b);
echo "
";
}

//下面的这个执行效率更高

function maopao($arr)
{
$len = count($arr);
for($i=1; $i<$len;$i++)//最多做n-1趟排序
{
$flag =false;//本趟排序开始前,交换标志应为假
for($j=$len-1;$j>=$i;$j--)
{
if($arr[$j]<$arr[$j-1])//交换记录
{//如果是从大到小的话,只要在这里的判断改成if($arr[$j]>$arr[$j-1])就可以了
$x=$arr[$j];
$arr[$j]=$arr[$j-1];
$arr[$j-1]=$x;
$flag= true;//发生了交换,故将交换标志置为真
}
}
if(!$flag)//本趟排序未发生交换,提前终止算法
return$arr;
}
}
$shuz = array('2','4','1','8','5');
$bb = maopao($shuz);
print_r($bb);

// 快速排序
function kuaisu($arr){
$len= count($arr);
if($len<= 1){
return$arr;
}
$key= $arr[0];
$left_arr= array();
$right_arr= array();
for($i=1;$i<$len;$i++){
if($arr[$i]<= $key){
$left_arr[]= $arr[$i];
}else{
$right_arr[]= $arr[$i];
}
}
$left_arr= kuaisu($left_arr);
$right_arr= kuaisu($right_arr);
returnarray_merge($left_arr, array($key), $right_arr);
}
$arr = array(23,98,54,2,9,62,34);
print_r(kuaisu($arr));

  

爱华网本文地址 » http://www.aihuau.com/a/25101013/169444.html

更多阅读

多项式乘法与快速傅里叶变换 链表多项式乘法

前言经典算法研究系列,已经写到第十五章了,本章,咱们来介绍多项式的乘法以及快速傅里叶变换算法。本博客之前也已详细介绍过离散傅里叶变换(请参考:十、从头到尾彻底理解傅里叶变换算法、上,及十、从头到尾彻底理解傅里叶变换算法、下),这

快速排序-算法导论版本 算法导论 排序网络

快速排序算法和合并排序算法一样,也是基于分治模式。对子数组A[p...r]快速排序的分治过程的三个步骤为:分解:把数组A[p...r]分为A[p...q-1]与A[q+1...r]两部分,其中A[p...q-1]中的每个元素都小于等于A[q]而A[q+1...r]中的每个元素都大于

C++冒泡排序法 java冒泡排序法

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。相同元素的前后顺序不会发生变化,冒泡法是一种稳定的排序算法。例如:inta[10]={3,7,2,4,5,8,9,0,6,1};size_tn=sizeof

从小到大排序算法 java从小到大排序

查看文章 10种排序算法总结(冒泡、选择、插入、希尔、归并、快速、堆、拓扑、锦标赛、基数)2011年01月20日星期四 08:24P.M.排序算法有很多,所以在特定情景中使用哪一种算法很重要。为了选择合适的算法,可以按照建议的顺序考虑以下标

声明:《php冒泡排序快速排序 php 冒泡排序算法》为网友維她命分享!如侵犯到您的合法权益请联系我们删除