解题思路:
关键是理解好j--和j+1当时所代表的含义
注意事项:
参考代码:
import java.util.Scanner;
public class Main2 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n= scanner.nextInt();
//创建数组存入数组
int []arr=new int[n];
for (int i=0;i<n;i++){
arr[i]= scanner.nextInt();
}
//插入排序 从第二个元素开始
for (int i=1;i<n;i++){
int key=arr[i];
//比较前面的元素
int j=i-1;
while (j>=0&&arr[j]>key){
//当满足以上条件key前面那个数往后挪
arr[j+1]=arr[j];
//回到前面那个位置
j--;
}
arr[j+1]=key;
}
for (int i:arr){
System.out.print(i+" ");
}
}
}
0.0分
0 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:765 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1059 |
简单的a+b (C语言代码)浏览:752 |
求组合数 (C语言代码)浏览:1206 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:468 |
C语言训练-亲密数 (C语言代码)浏览:697 |
1908题解浏览:680 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:585 |
DNA (C语言代码)浏览:440 |
数组与指针的问题浏览:760 |