简单排序算法是可以说是堆排序的基础,他就是升序时,先找最小的将最小的附在第一个,冒泡排序是先找大的数。
代码:
#include<stdio.h> #include<time.h> #include<stdlib.h> #define N 10 int a[N]; int main(){ int i; srand(time(0)); for(int i=0;i<N;i++){ a[i]=rand(); } clock_t t1,t2; t1=clock(); int min; for(int i=0;i<N;i++){ min=i; for(int j=i+1;j<N;j++){ if(a[min]>a[j]){ min=j; } } if(min!=i){ int t=a[min]; a[min]=a[i]; a[i]=t; } } t2=clock(); for(i=0;i<N;i++){ printf("%d\t",a[i]); } printf("%d is time:%d\n",N,t2-t1); return 0; }这个程序是用了标记,可以减少算法的运行时间。