为了有效地解决一些问题,重要的是将数据项排列在正确的位置 序列。最常见的排列问题之一是元素排序问题。这 本文将演示如何按升序排列数组成员C++(根据 到上升值)。
为了按特定顺序排列数字或非数字元素,各种各样的 此字段中提供了排序算法。只有两种简单的排序技术可以 本文将介绍。选择排序和冒泡排序。让我们逐一检查 单独使用适当的技术和C++实现代码。
使用气泡排序技术按升序对数组进行排序
对数组组件进行排序的最流行和最直接的方法之一是 气泡分拣方法。在此方法中,两个元素一个接一个地检查以 看看它们的顺序是否正确。如果没有,该方法将切换元素,直到它们 顺序正确。之后,向右移动并对另一组重复该过程 的值。单个元素在 气泡分选技术的每个阶段都有几个阶段。看看气泡排序 算法。
算法
- 读取数组 A 及其大小 n 作为输入
- 对于范围从 0 到 n-1 的 i,请执行
- 对于范围从 0 到 n - 2 的 J,执行
- 如果 A[j] > A[j + 1],则
- 交换 A[j] 和 A[j + 1]
- 结束如果
- 结束
- 结束
例
输出
使用选择排序技术按升序对数组进行排序
使用选择排序策略时,我们从索引 I 开始,一直工作到最后 在给定数组中,找到最小或最大元素。假设我们是 发现每一种成分。它定位从索引 I 到末尾的最小元素 每个阶段,将元素放置在适当的位置,然后重复该过程 从索引 I + 1 中查找下一个最大元素,依此类推。这些阶段将完成, 然后整个数组将被适当排序。
算法
- 读取数组 A 及其大小 n 作为输入
- 对于范围从 0 到 n-1 的 i,请执行
- ind := 从 i 到 n 开始的 A 最小元素的索引
- 如果 A[ i ] > A[ ind ],则
- 交换 A[ i ] 和 A[ ind ]
- 结束如果
- 结束
例
输出
结论
一个基本问题是排序,它涉及根据以下情况排列数字或其他项目 预定的布局逻辑。该领域还有许多其他可用的排序技术, 但在这篇文章中,我们将重点介绍两个易于使用和理解的。这两个 技术是选择排序技术和气泡排序技术。我们有 使用这两种技术按升序(非递减)顺序排列数据集。 虽然不是很省时,但这两种排序技术很简单。两者 这两种技术需要 O(n2),其中 n 是 输入。只需确定后续阶段是否不会有任何变化,如果有 在任何阶段都没有交换,气泡排序可以更快。