C语言选择排序法【全解析】

2015-7-8 海滨 程序就是一个世界

#include<stdio.h>


void SelectSort(int arr[],int length);


void main(){
	int a[]={1,5,-15,14,10,-45,-5},i,length;
	length=sizeof(a)/sizeof(int);
	SelectSort(a,length);
	for(i=0;i<length;i++)
		printf("%d\n",a[i]);
}

/*对记录数组r做简单选择排序,length为待排序记录的个数*/
void SelectSort(int arr[],int length){
	int temp,i,j,index;
	for (i=0 ;i< length-1;i++){
		//n-1趟排序
		int index=i;
		//假设index是最小的

		//查找最小记录的位置
		for (j=i+1;j<length;j++)	
		if(arr[j]<arr[index])	index=j;
		if(index!=i){ 
			//若无序区第一个元素不是无序区中最小元素,则进行交换
			temp=arr[i];
			arr[i]= arr[index];
			//利用temp作为临时空间,两个值交换的桥梁
			arr[index]=temp;
		}
	}
}

马上就要C语言考试了,提供给大家复习吧。

标签: 选择排序C语言 C语言选择排序 选择排序法

发表评论:


Powered by 海滨Blog
sitemap