选择排序Review
- 异或交换
- 指针
- 选择排序
在回顾 哈工大 C 语言的 PPT 练手。
//
// main.c
// test
//
// Created by apple on 2019/9/4.
// Copyright © 2019 apple. All rights reserved.
//
#include <stdio.h>
/*交换*/
void swap(int *a, int *b){
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
/*选择排序:从大到小排序*/
int main(){
int arr[10] = {2,3,41,412,421,3,2,4,6,10};
int i, j;
for(i = 0; i < 9; i++){
int tag = i; /*标记最大的数*/
for(j = i + 1; j < 10; j++){
if(arr[tag] < arr[j]){
tag = j;
}
}
if(tag != i){
swap(&arr[tag], &arr[i]);
}
}
for(i = 0; i < 10; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}