链表创建和链表遍历算法
来源:互联网 发布:淘宝店打折怎么设置 编辑:程序博客网 时间:2024/06/05 12:01
#include<stdio.h>#include<malloc.h>#include<stdlib.h>//用结构体来构造节点的数据域和指针域,即定义了一个 struct Node数据类型typedef struct Node{ int data;//构造数据域 struct Node * pNext;//构造指针域,pNext 指向一个和本身数据类型相同的下一个节点}NODE, *PNODE;//NODE相当于 struct Node, *PNODE相当于 struct Node *//函数声明PNODE create_list(void );void traverse_list(PNODE pHead);//遍历链表int main(void){ PNODE pHead = NULL;//等价于 struct Node * pHead=NULL; pHead = create_list();//创建一个非循环单链表,并将该链表的头结点地址赋给pHead traverse_list(pHead);//遍历链表 return 0;}PNODE create_list(void) //生成链表,返回类型为一个地址{ int i; int val;//用来临时存放用户输入的节点的值 int len;//用来存放有效节点的个数 //分配一个不存放有效数据的头节点 PNODE pHead=(PNODE)malloc(sizeof(NODE));//为pHead分配一块内存,pHead指向头结点 if(NULL==pHead) { printf("分配失败,终止\n"); exit(-1); } //创建尾指针pTail,使pTail永远指向尾节点; PNODE pTail=pHead; pHead->pNext=NULL; printf("请输入链表结点的个数:len="); scanf("%d",&len); for(i=0;i<len;i++)//输入数据,生成len 个有效节点 { printf("请输入第%d个节点的值:",i+1); scanf("%d",&val); //创建一个新节点pNew PNODE pNew=(PNODE)malloc(sizeof(NODE)); if(NULL==pNew) { printf("分配失败,终止\n"); exit(-1); } //使循环所得的数全部依次插入在链表的最后,即把新节点 pNew 挂到尾节点后面 pNew->data=val;//pNew的数据域存放节点的值 pTail->pNext=pNew;//尾指针pTail的指针域指向pNew pNew->pNext=NULL;//使新节点变成尾节点 pTail=pNew;//pTail就指向了尾节点(新节点) } return pHead;}void traverse_list(PNODE pHead)//遍历链表{ PNODE p=pHead->pNext;//p指向有效节点 while(NULL!=p) { printf("%d ",p->data);//输出有效节点的数据 p=p->pNext;//指向下一个节点,一旦循环到最后一个节点,p->pNext=NULL,循环终止 } printf("\n"); return ;//函数执行完毕}
阅读全文
0 0
- 链表的创建和遍历算法
- 链表创建和链表遍历算法
- 链表创建和链表遍历
- 链表的创建和遍历
- 链表的创建和遍历
- 链表的创建和遍历
- 单向链表的创建和遍历
- 简单链表的创建和遍历
- 单向链表的创建和遍历
- 郝斌数据结构 24 链表创建和链表遍历算法的演示
- 链表的常用算法(创建,判空,遍历…
- 【郝斌数据结构自学笔记】24_链表创建和链表遍历算法的演示
- 链表创建和链表遍历操作
- 创建和遍历单向线性链表(C)
- 链表《1》链表的创建和遍历
- C语言链表的创建和遍历
- 简单链表的创建与遍历
- 链表的创建与遍历
- dom4j读取配置文件
- mysql建外键
- 【yolo v2】训练自己数据集
- android 定制Toast消息的位置
- C#报无法将 Owner 属性设置为之前未显示的 Window错误
- 链表创建和链表遍历算法
- 调整图像亮度和对比度
- android下的XMPP对应smack-4.2.1,实现登录,注册,发单聊,加聊天室,发群聊等简单功能
- APP广告弹窗
- VS2015+OpenCV320+contrib+win64
- idea下的maven jetty web 项目创建
- matlab:深度学习CNN matlab代码解析
- java基础算法、递归调用、字符串(含中文)切割
- solr分词中的近义词处理