需求
数字按升序排列
思路
第一轮比较:从数组的第一个数(index=0)开始,依次和后面的数相比,若前者大则交换顺序,保证数字小的排前面(index=0的数字是这一轮参与比较的多个数里面,是最小的),直到比到最后一个数(index=arr.length-1)。
第二轮比较:接着从第二个数(index=1)开始,依次和后面的数相比,若前者大则交换顺序,保证数字小的排前面(index=1的数字是这一轮参与比较的多个数里面,是最小的),直到比到最后一个数(index=arr.length-1)。
接着从第二个数(index=2)开始........以此类推
最后:直到下标为(index=arr.length-2)的数和下标为(index=arr.length-1)的数做最后一轮比较
代码
import java.util.Arrays; public class BubbleSort { public static void main(String []args) { int[] arr = {2, 9, 8, 4, 3, 6, 7, 5, 0, 1}; int temp; for(int k = 0; k<arr.length-1; k++) { for (int i = k+1; i < arr.length; i++) { if (arr[k] > arr[i]) { temp = arr[k]; arr[k] = arr[i]; arr[i] = temp; } } } System.out.println(Arrays.toString(arr)); } }
输出
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]