选择排序

#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); }

选择排序相关文档

最新文档

返回顶部