/*
* 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;}/*交換*/
#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;
}
* 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;}/*交換*/
#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;
}
转载于:https://blog.51cto.com/wujuxiang/416780