1 数组:{5,7,6,2,4}
2.冒泡排序思路,从下表为0开始遍历,每次查找最大那个值往后移(时间O(n^2))。
1)从5开始,与后一位作比较,如果比后一位大,就交换两个元素的位置,否则不交换,如5没有比7大,不需要交换,结果->{5,7,6,2,4}
1) 7比6大,需要交换,结果->{5,6,7,2,4}
2) 7比2大,需要交换,结果->{5,6,2,7,4}
3) 7比4大,需要交换,结果->{5,6,2,4,7} ->这一轮走完,找到了最大值为7
4)又从5开始, 5没有比6大,不需要交换,结果->{5,6,2,4,7}
5)6比2大,需要交换,结果->{5,2,6,4,7}
6)6比4大,需要交换,结果->{5,2,4,6,7} ->这一轮走完,找到了次大值6,后面依次类推,每次遍历-i
3,简单代码如下:
public class BubbleSort {
public static int [] sort(int[] array){
int temp;
for(int i = 0;i<array.length-1;i++){
for(int j = 0;j<array.length-1-i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
public static void main(String[] args) {
int [] array = {7,3,17,5,11,44};
System.out.println(Arrays.toString(array));
sort(array);
System.out.println(Arrays.toString(array));
}
}