链表的创建和遍历
来源:互联网 发布:淘宝助理5.4版本下载 编辑:程序博客网 时间:2024/06/05 02:12
/*链表的创建和建立*/
1.定义一个节点的数据类型
typedef struct Node
{
int data;
struct Node *pNext;
}NODE, *PNODE;
2.在主函数里创建链表并对其进行遍历
int main(void)
{
PNODE pHead = NULL; //<=>struct Node *pHead = NULL
pHead = create_list();
traverse_list(pHead);
return 0;
}
3.PNODE create_list()函数:创建链表
需要注意的是定义一个 pTail结构体指针,使这个结构体把存储的上一次的pNew->pNext指向本次的pNew之后,又把本次pNew的结构体指针赋给自己:pTail = pNew。
函数的返回值:返回头结点的指针。
4.void traverse_list(PNODE pHead)函数:遍历和打印链表
注意:传入要遍历和打印的头结点的指针
模块的C语言代码:
//list.c#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node *pNext;}NODE, *PNODE;static PNODE create_list(void);static void traverse_list(PNODE pHead);int main(void){ PNODE pHead = NULL; //<=>struct Node *pHead = NULL pHead = create_list(); traverse_list(pHead); return 0;}PNODE create_list(void){ int i; int len; int val; PNODE pHead = NULL; PNODE pTail = NULL; PNODE pNew = NULL; pHead = malloc(sizeof(NODE)); if (pHead == NULL) { printf("Allocation failure, Program termination"); exit(-1); } pTail = pHead; pTail->pNext = NULL; printf("Please enter a number of linked list nodes that you want to build: len = "); scanf("%d", &len); for (i = 0; i < len; i++) { printf("Please enter the %d node value = ", i+1); scanf("%d", &val); pNew = malloc(sizeof(NODE)); if (pNew == NULL) { printf("Allocation failure, Program termination!"); exit(-1); } pNew->data = val; pTail->pNext = pNew; pNew->pNext = NULL; pTail = pNew; } return pHead;}void traverse_list(PNODE pHead){ PNODE p = NULL; p = pHead; while (p != NULL) { printf("%d ", p->data); p = p->pNext; } printf("\n"); return;}
0 0
- 链表的创建和遍历算法
- 链表的创建和遍历
- 链表的创建和遍历
- 链表的创建和遍历
- 单向链表的创建和遍历
- 简单链表的创建和遍历
- 单向链表的创建和遍历
- 链表《1》链表的创建和遍历
- C语言链表的创建和遍历
- 链表创建和链表遍历
- 图的创建和遍历
- 单链表的创建和遍历
- 单链表的创建和遍历
- 图的创建和遍历
- 图的遍历和创建
- 简单链表的创建与遍历
- 链表的创建与遍历
- 链表的创建与遍历
- 黑马程序员—异常及其处理部分基础知识总结
- C# textbox输入的时候显示是****
- OSPF协议介绍
- 蓝桥杯练习题—— 求先序排列
- excel动态创建控件
- 链表的创建和遍历
- C# 在窗口中,敲回车进行登录。(效果是在登录界面一敲回车就点击登录按钮)
- c# TAB键定位的顺序
- 23种经典设计模式UML类图汇总
- Rose与UML类图关系与生成代码剖析
- placement new (转)
- iOS开发之多媒体播放
- Linux利用GIMP截图
- Sum Root to Leaf Numbers