数据结构之插入排序

93 阅读1分钟

1 、插入排序的详解

     从第二个数字开始插入在之前的有有序系列中,直到末尾。

     比如有个数组 int a[5] = {2, 5, 3, 1, 4};

     第 一次排序为:2, 5 ,3,1, 4

     第二次排序为: 2, 3, 5, 1, 4

     第三次排序为: 1, 2, 3, 5, 4

     第四次排序为: 1, 2, 3, 4, 5

2、代码实现

 

#include<stdio.h>

void insert_sort(int *a, int length);
void printf_int(int *a, int length);

int main()
{
   int a[10] = {2, 5, 6, 7, 9, 1, 3, 4, 10, 9};
   int length = sizeof(a)/sizeof(a[0]);


   int b[4]  = {2, 5, 3, 1};
   int length1 = sizeof(b)/sizeof(b[0]);

   printf("length1 is %d\n", length1);

   insert_sort(a, length);
   printf_int(a, length);

   insert_sort(b, length1);
   printf_int(b, length1);
   return 0;
}

void insert_sort(int *a, int length)
{
   for (int i = 1; i &