基本排序方法之选择法排序

/*
 * main.c
 * 选择排序
 *  Created on: Nov 7, 2010
 *      Author: jenson
 */
#include<stdio.h>

typedef int item;
#define key(A)(A)
#define less(A,B)(key(A)<=key(B))/*比较大小*/
#define swap(A,B){item t = A;A = B;B = t;}/*交�Q*/
#define compexch(A,B) if(less(A,B))swap(A,B)/*比较大小并交换*/

void selection(item a[], int l, int r) {
    int i, j;
    for (i = l; i < r; i++) {
        int min = i;
        for (j = i + 1; j <= r; j++) {
            if (less(a[j],a[min])) {
                min = j;
            }
        }
        swap(a[i],a[min]);
    }
}

int main() {
    item a[] = { 0, -1, 9, 4, 8, 5 };
    selection(a,0,5);
    int i = 0;
    for(i = 0;i<6;i++){
        printf("%d\t",a[i]);
    }
    return 0;
}

你可能感兴趣的:(算法,职场,休闲)