排序算法---冒泡排序

来源:互联网 发布:js中字符串长度函数 编辑:程序博客网 时间:2024/06/15 21:33

       冒泡排序:重复地走访要排序的数列,一次比较两个数据元素,如果顺序不对则进行交换,并且一直重复这样的走访操作,直到没有要交换的数据元素为止。

     冒泡排序排序过程:

   


        冒泡排序代码实现如下:

package com.threeTop.www;/** * 冒泡排序的实现 * @author wjgs * */public class BubbleSort {  private int []array;    //初始化操作  public BubbleSort(int []array)  {  this.array=array;  }  /**   * 从小到大排序   *    */  public void sort1()  {    int length=array.length;  if(length>0)  {  for(int i=1;i<length;i++)  for(int j=0;j<length-1;j++)  {  if(array[j]>array[j+1])  {  int temp=array[j];  array[j]=array[j+1];  array[j+1]=temp;  }  }    }  }      /**   * 从大到小的排序   *    */  public void sort2()  {  int length=array.length;  if(length>0)  {  for(int i=length-1;i>0;i--)  for(int j=length-1;j>length-1-i;j--)  {  if(array[j]>array[j-1])  {  int temp=array[j];  array[j]=array[j-1];  array[j-1]=temp;  }  }  }    }    /**   * 打印出所有的元素   *    */  public void print()  {  for(int i=0;i<array.length;i++)  {  System.out.print(array[i]+" ");  }  }public static void main(String []args){ int []array={5,9,1,9,5,3,7,6,1};    BubbleSort bubblesort=new BubbleSort(array);    System.out.println("从大到小输出:");    bubblesort.sort2();    bubblesort.print();            System.out.println();    System.out.println("从小到大输出:");    bubblesort.sort1();    bubblesort.print();}}


冒泡排序的改进:

        (1)增加标志位

        (2)一次冒两个元素(双向冒泡)


0 0
原创粉丝点击