原理 比较两个相邻的元素,将值大的元素交换至右端。
思路 依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。
代码
public class BubbleSort {
public static void main(String[] args){
int list[] = {10, 2, 13, 4, 5, 6, 17, 8};
System.out.println(Arrays.toString(bubbleSort(list)));
}
public static int[] bubbleSort(int []list) {
for (int i = 0; i < list.length; i++) {// 外循环控制排序的趟数
for (int j = 0; j < list.length-i-1; j++) {// 内循环控制每一趟排序多少次
if (list[j] > list[j+1]){
int temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
return list;
}
}