选择类排序之选择排序

#include<stdio.h>
void SelectSort(int R[],int n)
{
	int i,j,k;
	int temp;
	for(i=0;i<n;++i)
	{
		k=i;
		//这个循环是算法的关键,它从无序序列中挑出一个最小的元素
		for(j=i+1;j<n;++j)
			if(R[k]>R[j])  
				k=j;
			//下面三句完成最小元素与无序序列第一个元素的交换
			temp=R[i];
			R[i]=R[k];
			R[k]=temp;
	}
}

int main()
{
	int R[5]={2,8,1,6,3};
	int i;
	SelectSort(R, 5);
	for(i=0;i<5;i++)
		printf("%d ",R[i]);
	printf("\n");
	return 0;
}
时间复杂度为O(n^2)

你可能感兴趣的:(选择类排序之选择排序)