C语言:选择排序
标签: C语言 选择排序
by 小威威
1.选择排序是什么?
选择排序就是选择符合要求的数(一般是最大值或最小值),放到某个指定的位置。通过多次选择排位,进而完成数组内元素的排序。
2.选择排序与冒泡排序的联系
选择排序是冒泡排序的改进版,缩短了一定的时间。但是二者的原理都是一样的。这两种排序呢都是通过多轮操作实现排序的,每一轮都找出一个最大值或者最小值。冒泡排序是通过两两比较,两两交换实现将最大值或最小值归位。而选择排序呢,是通过遍历数组找出最大值或最小值,然后将它放到首位或尾位(此处的首位与尾位是会改变的,当我们将一个最大值放到指定位置后,就忽略该元素及其位置)。换句话说,就是选择排序每轮操作是多次比较和一次交换,而冒泡排序是多次比较多次交换。因此选择排序比冒泡排序更省事,因为交换次数少了。
3.代码
# include <stdio.h>
# include <stdlib.h>
void selection_sort(int *pArr, int len);
int main(