链表的基本操作,包括创建,输出链表。
2015-08-06 10:01
344 查看
<span style="font-size:18px;">#include<stdio.h> #include<stdlib.h> struct student /*定义结点*/ { long no; char name[20]; char addr[30]; struct student *next;/*指向结构体指针*/ }; typedef struct student list;//将类型重新命名为list list *CreateList() //创建链表的函数定义 { list *h,*prev,*cur; //定义指向list的指针变量 int i,n; h=NULL; //初始时头指针为空 printf("输入结点个数: \n"); scanf("%d",&n); for(i=0;i<n;i++) { cur=(list *)malloc(sizeof(list)); //动态生成一个结点空间 cur->next=NULL; //将cur的next置为NULL if(h==NULL) h=cur; else prev->next=cur; //令链表最后一个节点的next指向cur scanf("%d %s %s",&cur->no,cur->name,cur->addr);//为cur指向的结点输入数据 prev=cur; } return h; //返回头指针h } void DispList(list *h) { list *p=h; //定义指针p并指向链表的第一个结点 while(p!=NULL) { printf("%d %s %s\n",p->no,p->name,p->addr); p=p->next; } } list *CreateList(); void DispList(list *h); int main() { list *head; head=CreateList(); printf("学号 姓名 地址\n"); DispList(head); }</span>
相关文章推荐
- hdu 1010 dfs+剪枝
- MFC窗口变化消息( OnSize、OnSizing和OnGetMinMaxInfo)
- python分析accesslog并排序
- 服务器IP变更后如果更新openfire 服务IP
- 实战篇:如何利用报表工具搭建机电行业综合管理平台
- Swift开发教程--如何通过定位来获取经纬度
- java中静态代码块的用法 static用法详解
- 日经社説 20150806 被爆70年に改めて核のない世界を誓う
- php瀑布示例
- 删除文件及文件夹
- 南邮 OJ 1599 统计
- iOS如何把导航默认的返回按钮设置成“返回”
- 蓝牙传输
- 消除临时对象
- 2015 HUAS Summer Trainning #4~C
- Evercookie 小结
- MySQL出现同步延迟有哪些原因?如何解决?
- MySQL出现同步延迟有哪些原因?如何解决?
- JavaScript和php常用语法——切割字符串
- 哪三样东西永远不能放进数据库里