选择排序
#include<stdio.h>
#define N 100
typedef int KeyType; typedef char InfoType[5]; typedef struct RedType{ KeyType key;
InfoType otherinfo; }elemnode[N];
struct RedType SqList[N+1]; void SelSort(elemnode R,int void print(elemnode R,int n) { int i; for(i=1;i<=n;i++) printf("%5d ",R[i].key); printf("\n"); for(i=1;i<=n;i++) printf("%6s ",R[i].otherinfo); printf("\n"); n)
{
int i,j,k;
for(i=1;i<n;i++)
{
k=i;
for(j=i+1;j<=n;j++) {
if(R[j].key<R[k].key) k=j;
}
if(k!=i)
{
R[0]=R[i]; R[i]=R[k]; R[k]=R[0]; }
}
}
} void main() { int n=10; elemnode a={0," ",76,"赵华",88,"钱英",69,"孙萍",90,"李涛", 90,"刘丽",60,"陈强",78,"顾军",98,"王斌",80,"方伟",70,"孟林"}; printf("原序列数据:\n"); print(a,n); SelSort(a,n); printf("排序后的序列数据(从低到高):\n "); print(a,n); }


