21xrx.com
2024-12-27 21:22:18 Friday
登录
文章检索 我的文章 写文章
C++选择排序:输入整数并以-1结束
2023-06-29 10:47:28 深夜i     --     --
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++选择排序算法对输入的整数进行排序的方法。如果您需要对一组数进行排序,选择排序算法是一个很好的选择。它简单易懂,易于实现,在处理中小规模数据时效果比较出色。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复