插入排序

来源:互联网 发布:苏州软件项目经理招聘 编辑:程序博客网 时间:2024/06/06 05:04

今天学习了插入排序,借此机会写下自己的心得。

插入排序就是将一个待排序的序列插入到一个已经排序的有序序列中去。

更加专业性的描述大家可以自己搜索。

下面是我找的图方便大家理解插入排序。


话不多说,奉上代码,如有错误请多指教大笑

#include<stdio.h>#define P 10void insertsort(int a[],int length);int main(){int a[P] = {1,23,2,5,67,3,50,17,48,19};int i,length;length = sizeof(a)/sizeof(a[0]);for(i=0;i<length;i++){printf("%d ",a[i]);}printf("\n");insertsort(a,length);printf("*******insert sort*******\n");for(i=0;i<length;i++){printf("%d ",a[i]);}printf("\n");return 0;}//插入排序void insertsort(int a[],int length){int i,j;int temp;for(i=1;i<length;i++){temp = a[i];j = i-1;while(temp<a[j] && j>=0){a[j+1] = a[j];j--;}a[j+1] = temp;}}