原理
选择排序的工作原理是: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
性能分析(稳定性)
选择排序的时间复杂度为O(n²),由于每次选择仅考虑某一位置上的数据情况,可能会破坏之前数据的相对位置,因此它是一种不稳定的排序方法。
工作原理
- 1、第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,
- 2、然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。
- 3、以此类推,直到全部待排序的数据元素的个数为零。
/**总结:对于一组数据,每一次待排序的数据元素中,选择最小的,放在序列的起始位置。知道全部待排序的数据元素排完**/
//选择排序
void select_sort(int *array, int length) {
int temp;
for (int i = 0; i< length - 1; i++) {
for (int j = i + 1; j <length; j++) {
if (array[i] > array[j]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
printf("\n排序后:");
for (int i = 0; i< length; i++) {
printf("%d ", array[i]);
}
}
网友评论