插入排序

 1 // 插入排序.cpp : 定义控制台应用程序的入口点。
 2 
 3 #include "stdafx.h"
 4 
 5 void insertsort(int a[],int n)
 6 {
 7     int i,key;
 8     for(int j=1;j<n;j++)
 9     {
10         key=a[j];
11         i=j-1;
12         while((i>=0)&&(a[i]>key)) //交换a[i]和a[i+1]
13         {
14             int temp;
15             temp=a[i];
16             a[i]=a[i+1];
17             a[i+1]=temp;
18             i--;
19         }
20         a[i+1]=key;
21     }
22 }
23 
24 void main()
25 {
26     int arr[]={5,2,4,6,1,3,24,12,57,7};
27     int len=sizeof(arr)/sizeof(arr[0]);
28     for(int i=0;i<len;i++)
29         printf("%4d",arr[i]);
30     printf("\n");
31     insertsort(arr,len);
32     for(int i=0;i<len;i++)
33         printf("%4d",arr[i]);
34 }
原文地址:https://www.cnblogs.com/xingele0917/p/2711636.html