#include
#include
struct student{
char *name;
char *num;
int weight;
int high;
struct student *right;
};
struct student *create(char *na,char *nu,int w,int h);
void push_pre(struct student **p,struct student *s);
void push_end(struct student **p,struct student *s);
void print_queue(struct student*);
int main()
{
struct student *stu1=create("hanliang","13408588155",90,160);
struct student *stu2=create("leexm","13100982991",90,180);
struct student *line1=NULL;
struct student *line2=NULL;
//push_pre(&line1,stu1);
//push_pre(&line1,stu2);
//print_queue(line1);
push_end(&line2,stu1);
push_end(&line2,stu2);
print_queue(line2);
}
void push_pre(struct student **p,struct student *s)
{
if(*p == NULL) {
*p = s;
}
else {
s->right=*p;
*p=s;
}
}
void push_end(struct student **p,struct student *s)
{
if(*p==NULL){
*p=s;
}
else{
struct student *q=*p;
while(q->right!=NULL)
{
q=q->right;
}
q->right=s;
}
}
void print_queue(struct student *q) {
int i;
for(i=0;q!= NULL;i++) {
printf("%d: %s %s %d %d\n",i, q->name,q->num,q->weight,q->high);
q = q->right;
}
}
struct student *create(char *na,char *nu,int w,int h)
{
struct student *s=(struct student *)malloc(sizeof(struct student));
s->high=h;
s->name=na;
s->num=nu;
s->weight=w;
s->right= NULL;
return s;
}