冒泡排序
(一)冒泡排序基本思想:将相邻的两个数两两比较,按从小到大或者从大到小的顺序排好,不断将大的数(或者小的数)往下沉。
(二)基本过程
比如我们现在要排序int a[] = {4,3,8,2,5}
所以过程大概就是:通过每一趟的比较就会确认一个数的位置,那么在下一趟的比较重,比较的次数就会少一次。剩下的一次类推
(三)代码如下:
public class MaoPaoTest {
public static void main(String args[]){
int a [] = {4,3,8,2,5};
maopao(a);
for(int m = 0; m < a.length ; m++){
System.out.print(a[m]+",");
}
}
public static void maopao(int s[]){
for(int i = 0 ;i < s.length - 1; i++){
for(int j = 0; j < s.length -1 -i; j++){
if(s[j] > s[j + 1]){
int temp = s[j + 1];
s[j + 1] =s[j];
s[j] = temp;
}
}
}
}
}
(四)时间复杂度:最好的情况下时间复杂度为O(n):当待排序的数据已经按顺序排好的情况下
最坏的情况下时间复杂度为O(n^2):因为要比较n-1趟,,每一趟又要比较(n-1-i)次