简单排序算法

简单排序算法是可以说是堆排序的基础,他就是升序时,先找最小的将最小的附在第一个,冒泡排序是先找大的数。

代码:

#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;
} 
这个程序是用了标记,可以减少算法的运行时间。

猜你喜欢

转载自blog.csdn.net/shi201619616/article/details/78912560
今日推荐