冒泡排序

来源:互联网 发布:风云漫画知乎 编辑:程序博客网 时间:2024/05/23 19:11

      冒泡排序又叫起泡排序,是交换排序中最简单的简单的排序方法,其基本思想是两两比较相邻记录的关键码,如果反序则交换,知道没有反序的记录为止。若想从小到大排序,第一次排序后最大的值位于整个序列最后的位置,第二次排序后第二大的值位于倒数第二的位置,以此类推直至整个序列按照从小到大排列为止。具体排序方法如下:

   (1)将整个待排序的记录序列划分为有序区和无序区,初始时有序区为空,无序区包括所有待排序的记录。

   (2)对无序区从前到后依次将相邻记录的关键码进行比较,若反序则交换,从而使关键码小的记录向前移,关键码大的记录向后移。例如第一次将第一个码和第二个码比较,若第二个码小于第一个码则这两个码交换位置,再用新的第二个码和第三个码比较若反序则换,依次类推直到最大的码位于整个序列最后。

   (3)重复执行(2),直到无序区中没有反序的记录。

     

   java代码如下:

   public class BubbleSort {
public static int[] bubbleSort(int a[]){
int i,j,temp;
int n=a.length;
for(i=1;i<n;i++){
for(j=0;j<n-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
System.out.print("第"+i+"次排序后的结果是:");
for(int k=0;k<n;k++){
System.out.print(a[k]);
}
           System.out.println("");
}
return a;
}
public static void main(String[] args) {
int b[]={2,6,3,1,5};
bubbleSort(b);
System.out.print("最后排序的结果是:");
for(int m=0;m<b.length;m++)
System.out.print(b[m]);
}
}



       运行结果为:

      

1 0
原创粉丝点击