冒泡排序x

首先了解一下什么是冒泡排序:

冒泡排序(Bubble Sort),是一种计算机领域的较简单的算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。
算法原理:
冒泡排序算法的运作如下:(从后往前)
  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

下面是几种算法,因为现在还没学到PHP C语言之类算法,所以先把JAVASCRIPT写在前面 后面几种因为没学 就临时粘贴复制一下了,可能会有错误  希望不要介意:

JS冒泡排序:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>冒泡排序</title>
    </head>
    <body>
        
    </body>
</html>
<script>
var arr=[3,5,4,1,2,7,9];
for (var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
var temp;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;}
}
}
forvar x in arr){
alert(arr[x])
}
</script>

还有从网上找到的一个JS的  算法其实差不多 如下:

function bubbleSort(arr) {
    var i = arr.length, j;
    var tempExchangVal;
    while (i > 0) {
        for (j = 0; j < i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                tempExchangVal = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tempExchangVal;
            }
        }
        i--;
    }
    return arr;
}
 
var arr = [3, 2, 4, 9, 1, 5, 7, 6, 8];
var arrSorted = bubbleSort(arr);
console.log(arrSorted);
alert(arrSorted);

剩下的就真的只能粘贴了 无能为力主要还没开始学PHP  自学C语言也只是刚刚开始 就先留着:

JAVA

 1 public class BubbleSort
 2 {
 3     public void sort(int[] a)
 4     {
 5         int temp = 0;
 6         for (int i = a.length - 1; i > 0; --i)
 7         {
 8             for (int j = 0; j < i; ++j)
 9             {
10                 if (a[j + 1] < a[j])
11                 {
12                     temp = a[j];
13                     a[j] = a[j + 1];
14                     a[j + 1] = temp;
15                 }
16             }
17         }
18     }
19 }

PHP

 1 function bubbleSort($numbers) {
 2     $cnt = count($numbers);
 3     for ($i = 0; $i < $cnt; $i++) {
 4         for ($j = 0; $j < $cnt - $i - 1; $j++) {
 5             if ($numbers[$j] > $numbers[$j + 1]) {
 6                 $temp = $numbers[$j];
 7                 $numbers[$j] = $numbers[$j + 1];
 8                 $numbers[$j + 1] = $temp;
 9             }
10         }
11     }
12  
13     return $numbers;
14 }
15  
16 $num = array(20, 40, 60, 80, 30, 70, 90, 10, 50, 0);
17 var_dump(bubbleSort($num));
18  
19 //输出结果如下:
20 //array(10) {
21 //  [0]=>
22 //  int(0)
23 //  [1]=>
24 //  int(10)
25 //  [2]=>
26 //  int(20)
27 //  [3]=>
28 //  int(30)
29 //  [4]=>
30 //  int(40)
31 //  [5]=>
32 //  int(50)
33 //  [6]=>
34 //  int(60)
35 //  [7]=>
36 //  int(70)
37 //  [8]=>
38 //  int(80)
39 //  [9]=>
40 //  int(90)
41 //}

貌似还有比较常见的C语言的

C语言:

 1 #include <stdio.h>
 2 #define SIZE 8
 3  
 4 void bubble_sort(int a[], int n);
 5  
 6 void bubble_sort(int a[], int n)
 7 {
 8     int i, j, temp;
 9     for (j = 0; j < n - 1; j++)
10         for (i = 0; i < n - 1 - j; i++)
11         {
12             if(a[i] > a[i + 1])
13             {
14                 temp = a[i];
15                 a[i] = a[i + 1];
16                 a[i + 1] = temp;
17             }
18         }
19 }
20  
21 int main()
22 {
23     int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
24     int i;
25     bubble_sort(number, SIZE);
26     for (i = 0; i < SIZE; i++)
27     {
28         printf("%d", number[i]);
29     }
30     printf("
");
31 }
原文地址:https://www.cnblogs.com/xieyunhuaxiang/p/6759242.html