插入排序:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
代码:
#include <stdio.h>
void insertion_sort(int arr[],int len){
int i,j;
for(i=1;i<len;i++){//总的趟数
int temp=arr[i];
for(j=i;j>0&&arr[j-1]>temp;j--)
arr[j]=arr[j-1];//向后挪位
arr[j]=temp;//插入
}
return ;
}
int main(){
int arr[] = { 22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
int i,len;
len=sizeof(arr)/sizeof(int);
insertion_sort(arr,len);
for( i=0;i<len;i++)
printf("%d ",arr[i]);
return 0;
}