数据结构实验之链表二:逆序建立链表
2018-03-05 14:29
281 查看
1.知识点:逆序建立链表
2.题意:输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据
3.注意事项:指针移动、动态申请内存
代码:
2.题意:输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据
3.注意事项:指针移动、动态申请内存
代码:
#include <stdio.h> #include <stdlib.h> typedef struct st { int num; struct st *next; }str; int main() { int n, i; str *head, *p;//定义str类型的指针:头指针head, 游动指针p head = (str *)malloc(sizeof(str));//为head动态申请空间 head -> next = NULL;//构建最简链表 scanf("%d", &n); p = (str *)malloc(sizeof(str)); p -> next = NULL;//将p插入到最简链表1 head -> next = p;//将p插入到最简链表2 scanf("%d", &p -> num);//输入游动指针p的数据域 for(i = 1; i < n; i++) { p = (str *)malloc(sizeof(str));//游动指针p再度动态申请新的空间 //p -> next = NULL; p -> next = head -> next;//将p插入到head之后1 head -> next = p;//将p插入到head之后2 scanf("%d", &(*p).num);//输入游动指针新p的数据域 //p = p -> next; } p = head -> next;//将p定位到链表的第一个实表(实数据域) while(p != NULL)//NUll == 0,EOF == -1; { printf("%d%c", p -> num, p -> next == NULL? '\n': ' ');//输出游动指针p的数据域 p = p -> next;//p移动到下一个表 } return 0; }
相关文章推荐
- 数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- SDUT OJ 数据结构实验之链表二:逆序建立链表
- SDUT _2117 数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- 【2117】数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- 山东理工OJ【2117】数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- 山东理工OJ【2117】数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- C语言 链表 数据结构实验之链表二:逆序建立链表
- [SDUT](2117)数据结构实验之链表二:逆序建立链表 ---链式存储(线性表)
- 数据结构实验之链表二:逆序建立链表
- SDUT 2117 数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- SDUT 2117-数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表
- 数据结构实验之链表二:逆序建立链表