冒泡排序
算法原理
冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要大,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。
由于冒泡排序简洁的特点,它通常被用来对于计算机程序设计入门的学生介绍算法的概念。
时间复杂度
若文件的初始状态是排好序的的,一趟扫描即可完成排序。所需的关键字比较次数C和记录移动次数 M 均达到最小值(Cmin = n-1、Mmin = 0),所以,冒泡排序最好的时间复杂度为O(N)。
代码
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] list = {12,13,11,15,55,8,99,33,95,112,1};
for(int i = 1;i<list.length;i++) {
for(int j = 0;j<list.length-i;j++) {
if(list[j] >list[j+1]) {
int temp;
temp=list[j];
list[j]= list[j+1];
list[j+1] = temp;
}
}
}
System.out.println(Arrays.toString(list));
}
}