关于双向循环链表生成的问题
aleyn 2010-03-28 10:56:21 #include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
typedef struct Student
{
int num;
char *name;
double math,computer,chinese,sum;
struct Student *prior,*next;
}Stu;
void CreateList(Stu *&L) //建立双向循环链表
{
Stu *p,*q=L;
int i,n;
L=new Stu[sizeof(Stu)];
L->prior=L->next=L;
cout<<"输入你要录入学生信息的人数:";
cin>>n;
cout<<endl;
for(i=0;i<n;i++)
{
p=new Stu[sizeof(Stu)];
p->prior=p->next=NULL;
p->name=new char[10];
cout<<"请输入学生的姓名:";
cin>>p->name;
cout<<endl;
cout<<"请输入学生的学号:";
cin>>p->num;
cout<<"请输入该学生的3科成绩:";
cin>>p->math;
cin>>p->computer;
cin>>p->chinese;
p->sum=p->math+p->computer+p->chinese;
//////////////////////////////////////////////////////
q->next=p;
p->prior=q;
p->next=L;
L->prior=p;
q=p;
//////////////////////////////////////////////////////
}
}
void main()
{
Stu *L;
CreateList(L);
}