插入排序--算法导论
#include<stdio.h> const int N = 100; int a[N]; /** 算法导论第一部分,基础知识。 P17 插入排序,复杂度O(n^2) */ void insertion_sort( int *a,int n) { for(int i = 1;i < n ; i++) { int key = a[i]; int j = i-1; while(j>=0&&a[j]>key) { a[j+1]=a[j]; j--; } a[j+1] = key; } } int main() { int n; while(scanf("%d",&n)!=EOF) { for(int i = 0;i < n; i++) { scanf("%d",&a[i]); } insertion_sort(a,n); for(int i=0;i<n;i++) { printf("%d\n",a[i]); } } getchar(); return 0; } /** input: 5 4 3 2 1 8 output: 1 2 3 4 8 */
插入排序
算法导论第一部分,基础知识。 P17 插入排序,复杂度O(n^2)