C语言:链表
来源:互联网 发布:液压系统计算软件 编辑:程序博客网 时间:2024/05/01 08:35
链表搞了好久,今晚终于有了眉目,之前做的都是用c++来做,c++中是用类来做的,现在c没有了类,就用结构体来做,看了好久都看不懂,主要是转不过弯来。现在感觉也差不多的。分配空间(好像C++中自动分配),然后数据录入,然后判断是否是头结点,如果是的话就把这个头结点传给head,然后继续循环,当不是头结点的时候,就把数据放到结点的指针域里面(q->next),然后把指针替换。我的理解就是这些。上代码:
- #include <stdio.h>
- #include <stdlib.h>
- #define NULL 0
- //#define LEN sizeof(struct stu)
- //定义结点结构类型
- struct stu
- {
- int num,age;
- stu *next;
- };
- void main()
- {
- stu *head = NULL; //定义头指针并赋值为0
- struct stu *creat(int n); //声明创建链表函数
- void print(stu *q); //声明输出函数
- head = creat(3);
- print(head);
- }
- stu *creat(int n)
- {
- stu *h,*p,*q;
- int i;
- h = NULL;
- for (i=0;i<n;i++)
- {
- p=(stu*)malloc(sizeof(stu)); //分配一个结点的空间给p
- scanf("%d%d",&p->num,&p->age); //输入一个新的结点
- if(h == NULL)
- h = p;
- else
- q->next = p; //新的链表添加到链表的尾部
- q = p;
- }
- q->next = NULL; //最后节点的指针域变为0
- return h;
- }
- void print(stu *q)
- {
- while(q)
- {
- printf("/nnum:%d /nage:%d",q->num,q->age);
- q = q->next;
- }
- }
- c语言 链表
- 链表(C语言)
- c 语言 链表
- C语言:链表
- C语言:链表
- C语言-链表
- C语言 链表
- 链表c语言实现
- c语言 链表 删除
- C语言数据结构----链表
- c语言 链表
- C语言 之 链表
- C语言 链表
- C语言_链表
- C语言-链表
- C语言 链表
- 链表(C语言)
- C语言-链表
- 存储过程
- 什么是spring框架?
- Spring 的IOC(一)
- 4-19
- 不想写啊
- C语言:链表
- IT的历史经验值得记取
- html5+css3制作的播放器,不过还不大完善
- Spring总结(一)
- Spring自动转载
- Spring XML配置的12个技巧
- [解决策略]JSP--查询数据中文乱码
- LinqToAccess注意要点
- c#中Windows消息的十六进制表述