6-1 简单选择排序 pta
时间: 2023-12-30 08:00:34 浏览: 178
简单选择排序是一种排序算法,它的基本思想是从待排序的数据序列中,通过不断地选择最小(或最大)的元素,将其放在已排序序列的末尾,直到所有元素都排好序为止。
具体实现方法如下:
1. 首先,设定一个指针i,表示当前已排序的序列的末尾位置。初始化i为0。
2. 从第i个位置开始,遍历整个序列,找出最小的元素,并记录其位置为minIndex。
3. 将第minIndex个元素与第i个元素交换位置,即将最小的元素放在已排序序列末尾。
4. 将指针i往后移动一位,即i++。
5. 重复步骤2~4,直到i达到序列的末尾。
简单选择排序的时间复杂度为O(n^2),其中n为待排序序列的长度。它是一种比较简单但效率较低的排序算法,适用于小规模的数据排序。
举一个简单选择排序的例子:对数组[5, 3, 8, 2, 1]进行排序。
首先,指针i为0。
遍历序列,找出最小元素1的位置,即minIndex为4。
将第4个元素1与第0个元素5交换位置。
此时数组变为[1, 3, 8, 2, 5],已排序序列为[1]。
指针i向后移动一位,即i为1。
再次遍历序列,最小元素为2,位置为3。
将第3个元素2与第1个元素3交换位置。
此时数组变为[1, 2, 8, 3, 5],已排序序列为[1, 2]。
指针i向后移动一位,即i为2。
再次遍历序列,最小元素为3,位置为3。
将第3个元素3与第2个元素8交换位置。
此时数组变为[1, 2, 3, 8, 5],已排序序列为[1, 2, 3]。
指针i向后移动一位,即i为3。
再次遍历序列,最小元素为5,位置为4。
将第4个元素5与第3个元素8交换位置。
此时数组变为[1, 2, 3, 5, 8],已排序序列为[1, 2, 3, 5]。
指针i向后移动一位,即i为4。
再次遍历序列,最小元素为8,位置为4,没有需要交换的元素。
排序结束,最终数组为[1, 2, 3, 5, 8]。
阅读全文