C++算法入门 - 选择排序

C++ 常见的排序算法包括如下:

  1. 冒泡排序(Bubble Sort)

  2. 选择排序(Selection Sort)

  3. 插入排序(Insertion Sort)

  4. 希尔排序(Shell Sort)

  5. 归并排序(Merge Sort)

  6. 快速排序(Quick Sort)

  7. 堆排序(Heap Sort)

  8. 计数排序(Counting Sort)

  9. 桶排序(Bucket Sort)

  10. 基数排序(Radix Sort)

来看看对于选择排序的一些介绍:

  1. 初始状态: 首先,将待排序的数组分为两部分:已排序部分和未排序部分。初始时,已排序部分为空,整个数组都是未排序部分。
  2. 选择最小元素: 在未排序部分中找到最小的元素,并记录其下标。
  3. 交换位置: 将找到的最小元素与未排序部分的第一个元素进行交换,即将最小元素放到已排序部分的末尾。
  4. 增加已排序部分: 将已排序部分的末尾指针向后移动一个位置,表示已排序部分增加了一个元素。
  5. 重复步骤2到4: 重复执行以上步骤,直到未排序部分为空,即所有元素都已经放到已排序部分,排序完成。

补充说明:

        这种算法的关键在于每次在未排序部分中选择最小的元素放到已排序部分的末尾,通过不断地增加已排序部分的长度来完成排序。选择排序的时间复杂度为 O(n^2),因为它在每个元素的位置上执行了一个最小值查找。虽然选择排序的时间复杂度较高,但是由于它的实现简单,对于小规模的数据集是一个有效的排序算法。

看一看例题1:

题目描述

        给出 N(1 < N < 100)N(1<N<100) 个人的语文成绩,请按成绩高低排序后输出。

输入描述

        第 11 行:一个整数 NN。

        第 22 行ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值