简单选择排序——C语言实现

选择排序思想:若按照递增顺序对顺序表进行排列,在n个元素的顺序表中,从第i(i=1)个元素开始遍历到第n-1个元素,在遍历过程中都将第i个元素依次与第i+1到第n个元素进行比较,确定最小的元素,如果最小的元素不是第i个元素则将其与最小的元素进行交换。

代码如下:

#include
void select_sort(int a[],int n){
	int i,j,min,temp=0;	 //变量i,j用来遍历数组,min用来标记最小值的位置,temp用于交换两个变量的值 
	for(i=0;ia[j])		//若a[min]>a[j]则将j的值赋给min,用来记录当前最小元素的位置 
				min=j;
		}
		if(min!=i){			//当a[i]与待比较的元素比较完后,若min的位置与i不一致
			temp=a[i];		//那么就将最小的元素a[min]与a[i]进行交换
			a[i]=a[min];
			a[min]=temp;
		}
	}
}
int main(){
	int a[]={6,2,1,3,4,5};		//初始化数组 
	int len=sizeof(a)/sizeof(a[0]);		//用变量len接收数组长度计算出来 
	printf("排序前的数组:\n");
	for(int i=0;i

运行结果:

简单选择排序——C语言实现_第1张图片

 

你可能感兴趣的:(c语言,算法,数据结构)