public static void 插入排序(int[]arr){
//默认第一次是拿到的最大的数
int l=arr.length;
int target;
int j,i;
//第一层for循环是用来选择数组里对应的元素的,从1开始选取,则表示
//第一个数是默认的,不进行比较的直接入座。从数组里拿出第二个数
//然后需要和已经入座的这个数进行比较,进入if判断,如果这个数和这个已经入座的数
//进行比较的结果是这个数大于入座的这个数,则可以直接入座。否则,就要交换位置了。
//把已经入座的这个数的值赋值到,本来要入座的这个数的位置上。然后再进行判断,相当于每次
//需要比较的次数会递增,但是不会破坏原有的排序的结果。一旦找到对应的位置,target就直接
//入座
for( i=1;i<l;i++){
j=i;
target=arr[j];
while(j>0&&target>arr[j-1]){
arr[j]=arr[j-1];
j--;
}
arr[j]=target;
System.out.println(Arrays.toString(arr));
}
}
public static void 冒泡(int[]arr){
int l=arr.length;
//外层的for循环是确定比较的次数。7个元素的话,需要比较6次,
for(int i=0;i<l-1;i++){
//第二层for循环也是用来比较次数大的。
for(int j=0;j<l-1-i;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
System.out.println(Arrays.toString(arr));
}
}
//默认第一次是拿到的最大的数
int l=arr.length;
int target;
int j,i;
//第一层for循环是用来选择数组里对应的元素的,从1开始选取,则表示
//第一个数是默认的,不进行比较的直接入座。从数组里拿出第二个数
//然后需要和已经入座的这个数进行比较,进入if判断,如果这个数和这个已经入座的数
//进行比较的结果是这个数大于入座的这个数,则可以直接入座。否则,就要交换位置了。
//把已经入座的这个数的值赋值到,本来要入座的这个数的位置上。然后再进行判断,相当于每次
//需要比较的次数会递增,但是不会破坏原有的排序的结果。一旦找到对应的位置,target就直接
//入座
for( i=1;i<l;i++){
j=i;
target=arr[j];
while(j>0&&target>arr[j-1]){
arr[j]=arr[j-1];
j--;
}
arr[j]=target;
System.out.println(Arrays.toString(arr));
}
}
public static void 冒泡(int[]arr){
int l=arr.length;
//外层的for循环是确定比较的次数。7个元素的话,需要比较6次,
for(int i=0;i<l-1;i++){
//第二层for循环也是用来比较次数大的。
for(int j=0;j<l-1-i;j++){
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
System.out.println(Arrays.toString(arr));
}
}