选择排序
代码:
#include<stdio.h>int data[] = {3,1,2,4,7,6,8};void printData(int data[],int length);void chooseSort(int data[], int length);void swap(int *a, int *b);#define N 7int main(void){printData(data,N);chooseSort(data,N);printData(data,N);return 0;}void printData(int data[],int length){int i;for(i = 0;i<length;++i){printf("%d\t",data[i]);}printf("\n");}void chooseSort(int data[], int length){int i;int j;int t;for(i=0;i<length-1;++i){t = i;for(j=i+1;j<length;++j){if(data[j]<data[t]){t = j;}}if(t != i){swap(&data[i],&data[t]);}}}void swap( int *a, int *b){*a ^= *b;*b ^= *a;*a ^= *b;}
运行结果:
3 1 2
4 7
6 8
1 2 3
4 6
7 8

浙公网安备 33010602011771号