代码:
#include <iostream>
//*arr 数组地址
//arrLength 数组长度
void ArraySortByInsert(int *arr,int arrLength){
printf("排序前:==================\n");
for (int i=0; i<arrLength; i++) {
printf("排序前:%d\n",*(arr+i));
}
printf("开始排序:==================\n");
//插入排序
//遍历数组所有元素
for (int i=0; i<arrLength-1;i++) {
int last_index=i;//当前元素索引
int next_elm = arr[last_index+1];//取下一个元素与当前元素进行比较
//遍历查找插入位置
while (last_index>=0) {
if (next_elm<arr[last_index]) {
printf("%d小于%d,进行位置交换\n",next_elm,arr[last_index]);
arr[last_index+1]=arr[last_index];//大数向后移动
last_index--;//逐个向前比较
}else{
printf("%d大于%d,无需交换\n",nex