数组中的冒泡排序

Posted AX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组中的冒泡排序相关的知识,希望对你有一定的参考价值。

冒泡排序的原理就是大(重)的值往下沉,小(轻)的值往上飘,依次两两相邻的索引的值进行比较,交换顺序的过程。

 代码实现:

public static void main(String [] args){

  int [] arr = {11,22,33,44,55,66};

  bubbleSort(arr);

  System.out.println(arr2String(arr));

}

//冒泡排序方法

  public statis void bubbleSort(int [] arr){

  for(int i=0;i<arr.length-1;i++){//外层循环

  for(int j=0;j<arr.length-1-i;j++){//-1是为了防止索引越界,-i是为了提高效率

    if(arr[j]>arr[j+1]){

    swap(arr,j,j+1);    //交换两个索引的元素值

    }

  }

}

//打印数组的方法

public static String arr2String(int [] arr){

   StringBuilder sb = new StringBuilder();

   sb.append("[");

   for(int i=0;i<arr.length;i++){

    if(i==arr.length-1){

    sb.append(arr[i]).append("]");

    }else{

    sb.append(arr[i]).append(", ");

    }

   }

 

}

//交换数组中两个索引的值得方法

  public static void swap(int[] arr,int i,int j){

  int temp = arr[i];

  arr[i]=arr[j];

  arr[j]=temp;

}

以上是关于数组中的冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

C ++中动态对象数组中的冒泡排序

冒泡排序和选择排序

冒泡排序不适用于对 C++ 中的动态对象数组进行排序

Java-冒泡排序

使用冒泡排序对Java中的名称数组按字母顺序排序

C-为啥Struct数组的冒泡排序会跳过Array中的第一个元素?