冒泡排序java实现
2012-03-04 16:38
337 查看
基本思想:将待排序的n个元素垂直排成一列,依次比较上下相邻的两个元素,如果上面的数大于下面的,则两者交换,第一趟冒泡排序的结果使得关键字最大的记录被放在最后一个位置上,然后第二趟起泡排序对前n-1个记录进行同样操作,结果是关键字次大的记录被安放在第n-1个位置上,以此类推共进行n-1趟排序。
特点:稳定排序,时间复杂度O(n^2).
算法实现:
public class BubbleSort {
public void bubbling(int[] a){
int length=a.length;
Boolean flag=false;
int t;
for(int n=1;n<=length-1;n++){
flag=false;
for(int i=0;i<length-n;i++){
t=a[i];
int j=i+1;
if(t>a[j]){
a[i]=a[j];
a[j]=t;
flag=true;
}
}
if(flag==false){
break;
}
}
}
public static void main(String[] args){
int a[]={25,36,12,58,69,25,97,56};
BubbleSort bs=new BubbleSort();
bs.bubbling(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
特点:稳定排序,时间复杂度O(n^2).
算法实现:
public class BubbleSort {
public void bubbling(int[] a){
int length=a.length;
Boolean flag=false;
int t;
for(int n=1;n<=length-1;n++){
flag=false;
for(int i=0;i<length-n;i++){
t=a[i];
int j=i+1;
if(t>a[j]){
a[i]=a[j];
a[j]=t;
flag=true;
}
}
if(flag==false){
break;
}
}
}
public static void main(String[] args){
int a[]={25,36,12,58,69,25,97,56};
BubbleSort bs=new BubbleSort();
bs.bubbling(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
相关文章推荐
- 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- JAVA之冒泡排序与简单选择排序的实现
- 冒泡排序(Bubblesort)之Java实现
- 排序基础之插入排序、冒泡排序、选择排序详解与Java代码实现
- 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
- 算法入门---java语言实现的冒泡排序小结
- Java和C实现的冒泡排序(基本思想)
- 啊哈算法java实现 --冒泡排序
- 经典排序算法(一)--冒泡排序、快速排序java实现
- 冒泡排序 java实现
- Java实现冒泡排序
- algo: 冒泡排序(Java实现)
- [排序算法]:Java实现冒泡排序和快速排序
- Java实现冒泡排序与双向冒泡排序算法的代码示例
- 冒泡排序(Bubble Sort)原理及Java实现
- 算法 排序算法之冒泡排序(三种算法 Java实现)
- java实现冒泡排序
- 排序-冒泡排序(java实现)
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序