写一些笔记吧。
以下几种简单的排序.
#include "stdio.h" //插入排序 void main() { int i,j,temp,a[11]; printf ("enter data\n"); for (i=1;i<=10;i++) { printf ("a[%d]=",i); scanf ( "%d",&a[i]); //输入数据 } for (i=2;i<=10;i++) //插入排序 for (j=i;j>0,a[j]<a[j-1];j--) //循环使下个数据插入到适当的位置 { temp=a[j]; a[j]=a[j-1]; a[j-1]=temp; } for (i=1;i<=10;i++) printf ("%d ",a[i]); //输出数据 }
#include "stdio.h" // 选择排序,从小到大 void main () { int i,j,min,temp; int shu[]={23,32,44,32,2,49,66,27,62,98}; //测试数据 for (i=0;i<8;i++) { min=i; for (j=i+1;j<9;j++) { if (shu[j]<shu[min]) //找出余下数据的最小值 min=j; } if (min!=i) { temp=shu[i]; shu[i]=shu[min]; shu[min]=temp; } } for (i=0;i<10;i++) printf ("%d ",shu[i]); //输出结果 }
#include "stdio.h" // 冒泡排序,从小到大 void main () { int i,j,min,temp; int n=10; int shu[]={23,32,44,32,2,49,66,27,62,98}; for (i=0;i<9;i++) { for (j=9;j>i;j--) { if (shu[j]<shu[j-1]) { temp=shu[j]; shu[j]=shu[j-1]; shu[j-1]=temp; } } } for (i=0;i<10;i++) printf ("%d ",shu[i]); }