拓者设计吧网站官网,建设网站代理商,重庆在建工程信息查询,生活服务信息类网站建设实现逻辑 ① 从第一个元素开始#xff0c;该元素可以认为已经被排序 ② 取出下一个元素#xff0c;在已经排序的元素序列中从后向前扫描 ③如果该元素#xff08;已排序#xff09;大于新元素#xff0c;将该元素移到下一位置 ④ 重复步骤③#xff0c;直到找到已排序的元…实现逻辑 ① 从第一个元素开始该元素可以认为已经被排序 ② 取出下一个元素在已经排序的元素序列中从后向前扫描 ③如果该元素已排序大于新元素将该元素移到下一位置 ④ 重复步骤③直到找到已排序的元素小于或者等于新元素的位置 ⑤将新元素插入到该位置后 ⑥ 重复步骤②~⑤
void print_array(int a[], int n){for (int i 0; i n; i){cout a[i] ;}cout endl;
}void insertSort(int arr[], int nSize){for (int i 1; i nSize; i){int value arr[i];int ipos i;while(ipos 1 arr[ipos - 1] value){arr[ipos] arr[ipos - 1];ipos--;}arr[ipos] value;}
}int main(){int arr[] {10, 8, 11, 7, 4, 12, 9, 6, 5, 3};int len sizeof(arr)/sizeof(arr[0]);cout 排序前;print_array(arr, len);insertSort(arr, len);cout 排序后;print_array(arr, len);return 0;
}输出结果