一、简述
从后往前插队
二、解决思路
以第一个作为基准
从第二个开始后往前比较
小的在后面则交换插入都前面去
三、举例
7,5,3,2,4(刚开始)
5,7,3,2,4 第2个数5和前面的比较,5和7比较,小于交换
3,5,7,2,4 第3个数3和前面的比较,3,5,7比较,
2,3,5,7,4...
2,3,4,5,7...
四、代码思路
外循环多少次
内循环从后往前多少次
思考边界点
五、具体代码
class InsertSortDemo {
public static void main(String[] args) {
int[] sorts=new int[]{7,5,3,2,4};
System.out.print("排序前数组:");
for (int i:sorts) {
System.out.print(i);
}
for (int i = 1; i < sorts.length; i++) {
for (int j = i; j >0; j--) {
if(sorts[j]<sorts[j-1]){//交换
int temp=sorts[j];
sorts[j]=sorts[j-1];
sorts[j-1]=temp;
}
}
}
System.out.println("");
System.out.print("排序后数组:");
for (int i:sorts) {
System.out.print(i);
}
}
}
网友评论