21xrx.com
2024-04-19 10:08:09 Friday
登录
文章检索 我的文章 写文章
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)。

  
  
下一篇: C中的选择排序

评论区

{{item['qq_nickname']}}
()
回复
回复