C中的插入排序
2021-07-07 07:23:41
深夜i
--
--
C
中
的
插
入
排
序
Insertion sort in C:用于插入排序对数字进行排序的 C 程序。 此代码实现插入排序算法以按升序排列数组的数字。 稍加修改,它将按降序排列数字。 插入排序的最佳情况复杂度为 O(n),平均,最坏情况复杂度为 O(n2)。
C中插入排序算法的实现
/* Insertion sort ascending order */
#include <stdio.h>
int main()
{
int n, array[1000], c, d, t, flag = 0;
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
for (c = 1 ; c <= n - 1; c++) {
t = array[c];
for (d = c - 1 ; d >= 0; d--) {
if (array[d] > t) {
array[d+1] = array[d];
flag = 1;
}
else
break;
}
if (flag)
array[d+1] = t;
}
printf("Sorted list in ascending order:\n");
for (c = 0; c <= n - 1; c++) {
printf("%d\n", array[c]);
}
return 0;
}
程序输出:
下载插入排序程序。
插入排序的最佳情况复杂度为 O(n),平均,最坏情况复杂度为 O(n2)。
上一篇:
idea打包java可执行jar包
下一篇:
C中的选择排序
评论区