尾插法建立带头结点的单链表

利用尾插法建立一个带头结点的单链表,要求包含学生姓名、学号、语文、数学、英语三门成绩、总分,并且按照总分从高到低的顺序进行排序,具有删除,插入功能。

//2019.10.9
//带头结点的学生单链表为插法实现
struct student{
	long num;//学号
	float score;//成绩
	struct student *next;//*规范!
};
int main()
{
	struct student *createlist();
	return 0;
}
struct student *createlist()
{
	struct student *head,*p1,*p2;
	p1=p2=(struct student*)malloc(LEN);
	scanf("%ld %f",&p1->num,&p1->score);//%ld十进制长整型有符号数据
	head=null;
	while(p1->num!=0){
		if(head==NULL)
			head=p1;
		else 
			p2->next=p1;
		p2=p1;
		p1=(struct student*)malloc(LEN);
		scanf("%ld %f",&p1->num,&p1->score);
	}
	p2->next=null;
	free(p1);
	return (head);
}
 
/*
指针规则
int main()
{
    int x=8,*p=&x;
    printf("%d",*p); //这是输出x的值 8 所以用%d合适
    printf("%d",p);  //这里写%d或%p都可以,因为是指针,所以用p合适
    return 0;
}
*/

参考一下,如果要更详细功能可以参考:http://www.cxyzjd.com/article/weixin_45754293/107335530

如有帮助,望采纳,谢谢

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632