选择排序

//选择排序  从序列中找到一个最小值元素,把最小值元素放在整个序列的首部,重复n轮,直到整个序列有序
void SelectSort(int buf[10],int size)
{
	int min  = 0; //记录最小值元素的下标
	int temp = 0; //备份最小值元素的值

	//需要比较n轮,每轮找到序列中的最小值元素
	for (int n = 0; n < size-1; ++n)  
	{
		 min  = n; //假设每轮序列中的第一个元素是最小值元素

		//找到序列中的最小值元素的下标
		for (int i = n+1; i < size; ++i)
		{
			//每轮需要通过比较的方式才可以确定最小值
			if ( buf[min] > buf[i] )                  
			{
				min = i;//更新当前的最小值元素的下标 
			}
		}

		//找到最小值元素,需要把最小值元素和序列的首部元素进行交换
		temp   = buf[min];
		buf[min] = buf[n];
		buf[n] = temp;
	}
}
posted @ 2024-05-07 21:24  小懿同学  阅读(8)  评论(0)    收藏  举报