选择排序法的基本思想:将数组第一个元素设为基数。将后面的元素依次与该基数进行比较,如果有某个元素比基数小,就将该数与基数进行交换,直至第n个元素,完成第一趟比较。再设数组第二个元素为基数,重复上面的过程。
#include <stdio.h>
int main(int argc, const char * argv[]) {
int array[]={18,25,2,41,32,19,7};
int len =7;
for (int i=0; i<len; i++) {
for (int j=i; j<len; j++) {
if (array[i]>array[j]) {
//此处使用异或来对调变量的值
array[i]=array[i]^array[j];
array[j]=array[i]^array[j];
array[i]=array[i]^array[j];
}
}
}
for (int i=0; i<len; i++) {
printf("%d\t",array[i]);
}
return 0;
} |
|