直接插入排序

来源:互联网 发布:linux oracle-01081 编辑:程序博客网 时间:2024/06/14 19:09

直接插入排序:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。当数组已经排好序,直接插入排序的时间复杂度为O(n)


# include <stdio.h>void insert_sort(int a[],int len);int main(void){int a[]={165,416,51,654,351,6541,3241,654,3,546,54,365435};insert_sort(a,sizeof(a)/sizeof(a[0]));for (int i=0;i<sizeof(a)/sizeof(a[0]);++i){printf ("%d ",a[i]);}return 0;}void insert_sort(int a[],int len){int i,j;for (i=1;i<len;++i)//遍历数组 {for (j=i;j>0 && a[j]<a[j-1];--j)//将前 i 个数字升序排序 {int temp = a[j];a[j] = a[j-1];a[j-1] = temp;}}}


0 0
原创粉丝点击