C语言:插入排序
#include <stdio.h> int ab[10] ={99,1,3,8,11,34,104,87,33,41}; void insea(int a[],int n) { int i,j,x; for(i=0;i<n;i++){ if(a[i]<a[i-1]) { j=i-1; x=a[i]; a[i]=a[i-1]; while(x<a[j]) { a[j+1]=a[j]; j--; } a[j+1]=x; } } } main() { insea(ab,10); int i; for(i=0;i<=9;i++) printf("%d ",ab[i]); getchar(); }
#include <stdio.h>
//保持原有顺序 main() { int a[20]={3,7,10,12,18,20}; int i,j,t; scanf("%d",&a[6]); for(i=0;i<=6;i++) for(j=i+1;j<=6;j++) { if(a[j]<a[i]) t=a[i],a[i]=a[j],a[j]=t; } for(i=0;i<7;i++) printf("%d ",a[i]); getchar(); }