选择排序

mac2025-07-21  3

原理

选择排序算法原理如下:

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始(或末尾)的位置再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾(或开头)重复上述两个步骤,直至待排序元素的个数为0 // 交换两个数字 #define SWAP(a, b) \ { \ a = a ^ b; \ b = a ^ b; \ a = a ^ b; \ } // 排序实现 void selectSort(int *arr, int size) { int i, j, min; for (i = 0; i < size; ++i) { min = i; for (j = i + 1; j < size; ++j) { if (*(arr + j) < *(arr + min)) { min = j; } } if (min != i) { SWAP(*(arr + min), *(arr + i)); } } }
最新回复(0)