/**
*
*/
package com.sort;
/**
* @author lihai
* @version 2018-5-6 下午7:25:29
* @类描述 冒泡排序
*/
public class BubbleSort {
/**
* 特点:
* 1.最好时间复杂度:O(n)--正序,最坏时间复杂度:O(n*n)--逆序,总的平均时间复杂度为O(n*n)
* 2.相邻的两个相等元素比较不会交换位置,如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,
* 所以相同元素的前后顺序并没有改变,所以冒泡排序属于稳定排序。
*
* @param a
* @return
*/
static int[] bubbleImple(int a[]){
int temp;
for(int i=1; i<a.length; i++){
int k=0;///
for(int j=1; j<a.length; j++){
if(a[j]<a[k]){//若前一个元素比后一个元素大,则交换位置
temp=a[j];
a[j]=a[k];
a[k]=temp;
k++;
}else {
k++;
}
}
}
return a;
}
/**
* @param args
*/
public static void main(String[] args) {
int a[] = {3,1,7,6,2,11,9};
int c[] = {20,40,60,80,30,70,90,10,50,0,30};
int b[] = bubbleImple(a);
int d[] = bubbleImple(c);
for(int ele : b){
System.out.print(ele+" ");
}
System.out.println();
for(int ele : d){
System.out.print(ele+" ");
}
}
}
冒泡排序
最新推荐文章于 2023-05-19 23:13:37 发布