插入排序

来源:互联网 发布:双十一数据2017 编辑:程序博客网 时间:2024/05/17 07:41

插入排序,时间复杂度:0(n^2)

#include<stdio.h>


void sort(int *a, int first, int last);


int main(void)
{
int i, first, last, a[8] = {2,4,1,9,8,3,6,5};


first = 0;
last = 7;


sort(a, first, last);


for(i = 0; i < 8; i++)
 printf("%d\n",a[i]);


return 0;
}


void sort(int *a, int first, int last)   /*插入排序*/
{
int i, j,t;


for(i = first + 1; i <= last; i++)
{
j = i - 1;
t=a[i];


while((j >= 0) && (a[j] > t))  /*从i向左搜索知道找到比a[i]小的数*/
{
a[j+1] = a[j];
j--;
}


a[j+1] = t;
}
}

原创粉丝点击