Heim > php教程 > php手册 > Hauptteil

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

WBOY
Freigeben: 2016-06-13 09:26:38
Original
1252 Leute haben es durchsucht

又一个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;>
Nach dem Login kopieren

通过以上代码执行结果

原数组

复制代码 代码如下:

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;
}
 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!