Saber-World

导航

1.选择排序(C++)

// 算法步骤

// 1.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

// 2.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

// 3.重复第二步,直到所有元素均排序完毕。

// 以下是代码实现
// 选择排序

#include<iostream>
#include<iomanip>
using namespace std;
void selectionSort(int arr[], int len)
{
    // 第一层循环为循环次数
	for (int i = 0; i < len; i++)
	{
        // 记录最小值的下标,便于后面的换位
		int minIndex = i;      
        
        // 第二层循环遍历当前数往后在数据
		for (int j = i; j < len; j++)  
		{

            // 大小判断,如数值小于最小值,则更改最小值下标
			if (arr[j] < arr[minIndex])   
			{
				minIndex = j;
			}
		}
        
        // 每次循环结束都将当前数与最小数调换位置
		swap(arr[i], arr[minIndex]);
	}
}

int main()
{
  int num[9,8,0,6,8,2];
   
  // n为**数组长度**。sizeof(num)求出 **数组所占字节数** 除以 **每个数据的字节数** 就能知道数组长度
  int n = sizeof(num) / sizeof(num[0]);  
  
  selectionSort(num, n);
  
  for(int i = 0; i < n; i++)
  {
    cout<< num[i] << ' ';

posted on 2024-07-03 21:54  万圣节。万圣节。  阅读(17)  评论(1)    收藏  举报