冒泡排序:
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
案例:输入一组数,从小到大排序。
思路:1、将输入的数组通过空格分割,存入字符串数组
Scanner sc = new Scanner(System.in);
System.out.println("请输入一组数:\n");
String str = sc.nextLine();
String[] strArr = str.split(" "); //以空格为分隔符存储字符串至字符串数组
2、将字符串数组中的字符元素通过parseInt转换成数字存入整形数组中
int[] arr = new int[strArr.length];
for(int i=0; i<strArr.length; i++){
arr[i] =Integer. parseInt(strArr[i]); //字符串转数字。
}
3、使用冒泡排序进行数组元素的从小到大排序
for(int i = 0; i<arr.length; i++){
for(int j=0; j<arr.length-i-1; j++){
if(arr[j+1]<arr[j]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j] = temp;
}
}
System.out.println(Arrays.toString(arr));
}