21xrx.com
2025-03-27 16:07:42 Thursday
文章检索 我的文章 写文章
C++选择排序:输入整数并以-1结束
2023-06-29 10:47:28 深夜i     19     0
C++ 选择排序 整数 -1 结束

C++选择排序是一种排序算法,可以使用它将一组输入的整数按照从小到大的顺序排列。本文将介绍如何使用C++选择排序算法,输入一组整数并按照从小到大的顺序进行排序。

首先,我们需要了解一下什么是选择排序。选择排序是一种简单直观的排序算法,实现起来比较容易,其基本思想是找到最小元素并将其放到数组的最前面,接着再从剩余的元素中找到最小元素放到已排序序列的末尾。重复这个过程,直到整个数组排好序为止。

接下来,我们开始实现选择排序。我们可以先定义一个数组来存储输入的整数,然后使用一个循环来输入整数,当输入-1时结束输入。接着,我们可以使用一个循环来实现选择排序算法,找到最小的元素并将其放到数组的最前面。最后再使用另一个循环输出排好序的数组。

下面是完整的C++选择排序代码:

#include <iostream>
using namespace std;
void selectionSort(int arr[], int n)
{
  int i, j, minIndex, tmp;
  for (i = 0; i < n - 1; i++) {
    minIndex = i;
    for (j = i + 1; j < n; j++)
      if (arr[j] < arr[minIndex])
        minIndex = j;
    if (minIndex != i) {
      tmp = arr[i];
      arr[i] = arr[minIndex];
      arr[minIndex] = tmp;
    }
  }
}
int main() {
  int arr[100];
  int n = 0;
  while (1) {
    int num;
    cin >> num;
    if (num == -1) break;
    arr[n++] = num;
  }
  selectionSort(arr, n);
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  cout << endl;
  return 0;
}

在这段代码中,我们定义了一个数组arr和一个整数n,用来存储输入的整数。在输入整数的while循环中,当输入-1时循环结束。接着,我们调用了selectionSort函数,将数组arr进行选择排序。最后,我们使用for循环输出排好序的数组。

在调用selectionSort函数时,我们需要传入两个参数:数组arr和数组长度n。在函数内部,我们使用两个循环来实现选择排序:外循环从数组的第一个元素开始遍历,内循环从第i个元素的后面找到最小的元素,并交换它们的位置。需要注意的是,交换位置时我们使用了一个中间变量tmp。

最后我们编译运行这段代码,并输入一组需要排序的整数,当我们输入-1时,程序将自动结束输入,输出排好序的数组。例如,当我们输入以下一组整数时:

10 2 8 7 3 -1

程序将输出以下结果:

2 3 7 8 10

这就是使用C++选择排序算法对输入的整数进行排序的方法。如果您需要对一组数进行排序,选择排序算法是一个很好的选择。它简单易懂,易于实现,在处理中小规模数据时效果比较出色。

  
  

评论区

请求出错了