郝斌数据结构 24 链表创建和链表遍历算法的演示
2016-12-20 22:28
274 查看
#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct Node { int data; //数据域 struct Node *pNext; //指针域 }NODE,*PNODE; //NODE等价于struct Node PNODE等价于struct Node * PNODE creat_list(void); void traverse_list(PNODE); int main(void) { PNODE pHead = NULL; //等价于struct Node * pHead = NULL; pHead = creat_list(); //创建一个非循环链表,并将该链表的头结点的地址赋给pHead traverse_list(pHead); return 0; } PNODE creat_list(void) { int i; int len; //用来存放有效节点的个数 int val; //用来临时存放用户输入的结点的值 printf("请输入你需要生成的链表的节点个数:len = "); scanf("%d",&len); PNODE pHead = (PNODE)malloc(sizeof(NODE));//分配了一个不存放数据的头结点 if(pHead == NULL) { printf("内存分配失败,程序终止\n"); exit(-1); } PNODE pTail = pHead; pTail->pNext = NULL; for(i=0; i<len; i++) { printf("请输入第%d个节点的值:",i+1); scanf("%d",&val); PNODE pNew = (PNODE)malloc(sizeof(NODE)); if(pNew == NULL) { printf("内存分配失败,程序终止\n"); exit(-1); } pNew->data = val; pTail->pNext = pNew; pNew->pNext = NULL; pTail = pNew; } return pHead; } void traverse_list(PNODE pHead) { PNODE p = pHead->pNext; while(p != NULL) { printf("%d ",p->data); p = p->pNext; } printf("\n"); }
相关文章推荐
- 【郝斌数据结构自学笔记】24_链表创建和链表遍历算法的演示
- 数据结构链表创建,遍历,是否为空,求长度,插入,删除算法的演示
- 郝斌数据结构 12 连续存储数组的算法演示
- 【郝斌数据结构自学笔记】27-29_链表插入和删除算法的演示_复习
- 郝斌数据结构 28 链表的插入和删除算法的演示
- 【郝斌数据结构自学笔记】26_通过链表排序算法的演示再次详细讨论到底什么是算法以及到底什么是泛型【重点】
- 【郝斌数据结构自学笔记】25_判断链表是否为空和求链表长度算法的演示
- 链表创建和链表遍历算法的演示_C语言
- 数据结构学习二 数据结构之链表代码版【创建,遍历,删除,插入】
- 链表算法演示(郝斌)
- 郝斌数据结构(1)----数据结构基本分类和链表创建
- 数据结构和算法--二叉树创建和递归遍历
- 《Delphi 算法与数据结构》学习与感悟[8]: 单向链表的添加、删除与遍历
- 10-数据结构_线性结构-离散存储-链表_创建与遍历链表
- 算法与数据结构面试题(11)-一次遍历得到链表的中间节点
- 数据结构—链表的定义、创建、遍历、插入、删除
- C语言学习历程(十八) 数据结构二叉树的创建、遍历、深度等算法
- 郝斌数据结构连续存储数组的算法演示
- 数据结构与算法之——二叉树的创建及遍历
- 数据结构:链表插入和删除算法的演示