排序思想
每次都取第一个元素与其余元素进行比较,每循环一次得到一个最大、或最小 值,然后排除这个元素位置,让第二个元素作与剩下的元素做比较,直到遍历结束
选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
// 声明函数
void select_compositor(int num[],int n);
int main(int argc, const char * argv[]) {
// 定义一个数组
int number[7] = {100,22,1,99,33,77,88};
// 调用函数
select_compositor(number,7);
return 0;
}
// 选择排序
void select_compositor(int num[],int n) {
for (int i=0; i<n-1; i++) {
for (int j=i+1; j<n; j++) {
if (num[i] > num[j]) {
printf("%d,%d\n",num[i],num[j]);
num[i] = num[i] ^ num[j];
num[j] = num[i] ^ num[j];
num[i] = num[i] ^ num[j];
}
}
}
for (int i=0; i<n; i++) {
printf("%d\n",num[i]);
}
}