选择排序

发布时间 2023-05-19 21:01:25作者: harper886

选择排序也是一种很基础的算法
就是从的一个数开始找到最大的数或者最小的数把它放到最后面或者最前面
每一轮循环往复最后就可以把全部都排好序了
还是很好理解的
选择排序视频

排序前

#include <stdio.h>
/*
  这是一个选择排序的代码
 */

/*
  1.该函数实现选择排序
  2.该函数需要一个数组,和这个数组的长度
  3.该函数没有返回结果
 */
void select(int arr[],int len)
{
	int mixid;//定义一个最小的变量,用来储存该数组每轮循环的最小下标
	int temp;
	for(int i=0;i<len-1;i++){
		mixid=i;//先让这个mixid等于i
		for(int j=i+1;j<len;j++){//让j=i+1,去寻找最小的下标并且保存下来
			if(arr[j]<arr[mixid]){
				mixid=j;//保持最小的下标
			}
		}
		temp=arr[mixid];//每一轮对最小下标所在的值与第一个值交换
		arr[mixid]=arr[i];
		arr[i]=temp;
	}	
}


int main()
{
	int arr[]={9,6,7,3,2,4,5,1,11,9,10};
	int len=sizeof(arr)/sizeof(arr[0]);
	select(arr,len);
	for(int i=0;i<len;i++){
		printf("%d ",arr[i]);
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	return 0;
}

排序后