用链表以后,每个元素并不象结构体数组那样有下标[]
引用起来就不方便了,
比如要对里面的数据进行排序输出(按平均分,每科的分高低排序等等)
typedef struct student
{
long num;
char name[10];
float score[3];
STDU *next;
}STDU;
能给我说1下怎么给他像数组一样排序吗?
[老师让做一个学生成绩管理系统,我用老潭的书,里面链表一节都没讲如何给它排序.写入文件等等..请大家帮帮忙]
我自己写的,想把指针q当数组用,即(q+i),但没法输出正确结果:最后一个printf()输出不对
#include<stdio.h>
#include<stdlib.h>
typedef struct student
{
long num;
float score;
struct student *next;
}STDU;
void main()
{
int size,i,j,n=0;
STDU *head,*p1,*p2,*q,*p,c[60];
q=c;
scanf(“%d”,&size);
p1=p2=(STDU *)malloc(sizeof(STDU));
printf(“enter\n”);
scanf(“%ld,%f”,&p1->num,&p2->score);
head=NULL;
printf(“see\n”);
for(i=0;i<size;i++)
{
n=n+1;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(STDU *)malloc(sizeof(STDU));
printf(“%d\n”,i);
scanf(“%ld,%f”,&p1->num,&p2->score);
}
printf(“ok\n”);
p2=NULL;
p=head;
for(i=0;i<size;i++)
{
q=p;
p=p->next;
q++;
}
printf(“%ld,%f”,(q+1)->num,(q+1)->score);
}
>> 本文固定链接: http://www.vcgood.com/archives/1626
有没学数据结构的排序啊?有很多数据结构的排序方法
哦,还没!!1
能 给我说一个简单易懂的吗??