首页 > 代码库 > 数据结构 单向动态链表的建立和输出
数据结构 单向动态链表的建立和输出
#include<stdio.h> #include<stdlib.h> struct student{ long int num;//学号 float score;//成绩 struct student*next;//指向下一个学生 }; int n=0;//有n个学生数据 /*创建链表函数*/ struct student* creat() { struct student *p1,*p2,*head; p2=p1=(struct student*)malloc(sizeof(struct student));//创建一个!!动态存储空间 printf("please enter the first student:\n"); scanf("%ld,%f",&p1->num,&p1->score); head=NULL; while(p1->num!=0) { n=n+1; if(n==1)head=p1;//头指针指向第一个数据 else p2->next=p1; p2=p1; p1=(struct student*)malloc(sizeof(struct student));//开辟动态存储区 scanf("%ld,%f",&p1->num,&p1->score); } p2->next=NULL; return head; } /*输出函数*/ void print(struct student *head) { struct student *p1; p1=head; while(p1->num!=0) { printf("\nnum:%ld,score:%f",p1->num,p1->score); p1=p1->next; } } void main() { struct student *head; head=creat(); printf("plese printf the num and score\n"); print(head); }
数据结构要把我折磨疯了,视频我已经看了四五遍了,自己写代码还是有问题。。很崩溃。慢慢来。!
结构体创建和结构体指针,得到了提高。函数调用,该调用哪个参数,返回值应该是哪个变量,很重要!
关于scanf,键盘输入时,要与scanf里面格式要一模一样,空格都空格,用逗号时记得运行界面输入法转为英文!!!!
数据结构 单向动态链表的建立和输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。