#include
#include
struct A{
char s[10];
int no;
};
int main(){
struct A a[5]={"asd",1,"qwe",2,"zxc",3,"rty",4,"vbn",5};
struct A *p[5]={&a[0],&a[1],&a[2],&a[3],&a[4]},*t;
for(int i=1;i<5;i++){
t=p[i];
for(int j=i-1;j>=0;j--)
if(strcmp(t->s,p[j]->s)<0){
p[j+1]=p[j];
p[j]=t;
}
}
for(i=0;i<5;i++)
printf("%d ",p[i]->no);
printf("\n");
}
这个程序只是用结构体A做了个排序的例子,至于你要结构体中有我不知道,你自己加吧。
我就加了个no,让你看看结果而已。