冒泡排序与选择排序
package com.itheima_04;public class Test5 {
public static void main(String[] args) {
int[] arr = {1,3,4,2,0,9,89,1};
//调用方法排序
//sort(arr);
print_mo(arr);
print_array(arr);
}
/*
* 选择排序:
* i j
* arr arr
* arr arr
* arr arr
* arr arr
* arr arr
* arr arr
* i是外层循环长度是length-1
* j是内层循环,长度是length,与i的关系是i+1+j
* 其中,j因该是从i+1开始,然后j++
* 当判断到arr>arr时,arr与arr交换位置
* */
public static void sort(int[] arr){
for (int i = 0;i<arr.length-1;i++){
for (int j = i+1;j <arr.length;j++){
if (arr>arr){
int temp = arr;
arr = arr;
arr = temp;
}
}
}
}
public static void print_array(int[] arr){
System.out.print("[");
for (int i = 0;i < arr.length;i++){
if (i==arr.length-1){
System.out.println(arr+"]");
}else{
System.out.print(arr+",");
}
}
}
/*
* 冒泡排序:
* j j+1
* 第一次
* arr arr
* arr arr
* arr arr
* 第二次
* arr arr
* arr arr
* 第三次
* arr arr
*
* for(int i = 0; i< arr.length-1;i++){
* for(int j = 0;j <arr.length-i-1;j++){
* if(arr>arr){
* int temp = arr;
* arr = arr;
* arr = temp;
* }}}
* 其中i控制比较的次数,j控制索引
* arr.length-i-1, debug一下:
* 4-0-1 =3;内层循环3次,j的值分别是0,1,2
* 4-1-1 =2;内层循环2次,j的值分别是0,1
* 4-2-1 =1;内层循环1次,j的值分别是0
* 注:-1是为了Index异常
* */
public static void print_mo(int[] arr){
for (int i = 0;i < arr.length-1;i++){
for (int j = 0;j < arr.length-i-1;j++){
if (arr>arr1]){
int temp = arr;
arr = arr1];
arr1] = temp;
}
}
}
}
}
页:
[1]