冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把他们交换过来。
每一趟只能确定一个数归位。,即第一趟只能确定将末位上的数归位。
冒泡排序的核心部分是双重嵌套循环,时间复杂度为0(N*N),复杂度很高,所以有人做了评价:冒泡排序除了它迷人的名字和导致了某些有趣的理论问题这一事实之外,似乎没有什么值得推荐的。
//冒泡排序
public class BubbleSort {
public void bubbleSort(int data[]){
int flag=0;
for(int i=0;i<=data.length-1;i++){
for(int j=0;j<data.length-i-1;j++){
if(data[j]<data[j+1]){
flag = data[j];
data[j] = data[j+1];
data[j+1] = flag;
}
}
}
for(int i=0;i<data.length;i++){
System.out.println(data[i]);
}
}
public static void main(String[] args) {
int data[] = {12,35,99,18,76};
BubbleSort bubbleSort = new BubbleSort();
bubbleSort.bubbleSort(data);
}
}