赞
踩
目录
中文名:插入排序
英文名:Insertion sort
时间复杂度:O(N^(1-2))
稳定性:稳定的排序算法
原理:在待排序的数组里,从数组的第二个数字开始,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
- #include<stdio.h>
- #include<stdlib.h>
-
- int main()
- {
- int arr[10] = { 9,2,1,3,5,4,10,8,6,7 };
- int flag = 0, i = 0,j = 0;
-
- printf("排列前:");
- for (int i = 0; i < 10; i++)
- {
- printf("%d ", arr[i]);
- }
- printf("\n\n");
-
- for (i = 1; i < 10; i++)
- {
- flag = arr[i]; //记录arr[i] 的值
- for (j = i - 1; j >= 0 && arr[j] > flag;j--) //当arr[i]前面的一个数字比a[i]大时
- {
- arr[j + 1] = arr[j]; //将arr[i] 和其前一个数字进行交换
- }
- arr[j + 1] = flag;
-
- }
-
- printf("排列后:");
- for (int i = 0; i < 10; i++)
- {
- printf("%d ", arr[i]);
- }
- printf("\n\n");
-
- system("pause");
- return 0;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。