Home  >  Article  >  php教程  >  又一个PHP实现的冒泡排序算法分享,php冒泡排序算法

又一个PHP实现的冒泡排序算法分享,php冒泡排序算法

WBOY
WBOYOriginal
2016-06-13 09:26:381256browse

又一个PHP实现的冒泡排序算法分享,php冒泡排序算法

经典的冒泡排序法一直是许多程序沿用的其中一种排序法,话说冒泡排序法在效率上比PHP系统函数sort更高效。本章不讨论性能,所以就不拿它来跟系统性能做对比了。

冒泡排序大概的意思是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。但其实在实际过程中也可以根据自己需要反过来用,大树往前放,小数往后放。

<&#63;php
/**
 * PHP中的冒泡排序法使用
 */
 
// 预先声明一个数组
$arr = array (12,45,28,30,88,67);
echo "原数组";
print_r($arr);
echo "<br/>";
//冒泡排序
function maopao($arr){
  // 进行第一层遍历
  for($i=0,$k=count($arr);$i<$k;$i++) {
    // 进行第二层遍历 将数组中每一个元素都与外层元素比较
    // 这里的i+1意思是外层遍历当前元素往后的
    for ($j=$i+1;$j<$k;$j++) {
      // 内外层两个数比较
        if($arr[$i]<$arr[$j]){
        // 先把其中一个数组赋值给临时变量
          $temp = $arr[$j];
        // 交换位置
        $arr[$j] = $arr[$i];
        // 再从临时变量中赋值回来
        $arr[$i] = $temp;
      }
    }
  }
  // 返回排序后的数组
  return $arr;
}
 
// 直接打印排序后的数组
echo '排序后';
print_r(maopao($arr));
 
&#63;>

通过以上代码执行结果

原数组

复制代码 代码如下:

Array ( [0] => 12 [1] => 45 [2] => 28 [3] => 30 [4] => 88 [5] => 67 )


排序后

复制代码 代码如下:

Array ( [0] => 88 [1] => 67 [2] => 45 [3] => 30 [4] => 28 [5] => 12 )


这就是冒泡法实例,简单吧!没有神马难度的。

编程实现一个冒泡排序算法?

int [] array = new int
;
int temp = 0 ;
for (int i = 0 ; i {
for (int j = i + 1 ; j {
if (array[j] {
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
 

可以各位给我编程实现一个冒泡排序算法??

#include
#include
#define M 10
using namespace std;
void maopao1(int data[M])
{
int i,j,t;
for(i=1;i for(j=0;j if(data[j]>data[j+1])
{t=data[j];data[j]=data[j+1];data[j+1]=t;}
cout for(i=0;i cout cout}
void maopao2(int data[M])
{
int i,j,t;
for(i=1;i for(j=0;j if(data[j] {t=data[j];data[j]=data[j+1];data[j+1]=t;}
cout for(i=0;i cout cout}
int main()
{
int i,data[M];
cout for(i=0;i cin>>data[i];
maopao1(data);//从小到大
maopao2(data);//从大到小

system("pause");
return 0;
}
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn