
链表的基本操作
发布日期:2021-05-07 15:25:23
浏览次数:20
分类:技术文章
本文共 2101 字,大约阅读时间需要 7 分钟。
一、创建单链表
/*list.h*/#ifndef __LIST_H__#define __LIST_H__#include "stdio.h"#include "stdlib.h"typedef struct ListNode { int data; struct ListNode *next;}stListNode;stListNode * Linklist_Create();void Linklist_Print(stListNode * pstHead);#endif/*list.c*/#include "list.h"/******************************************************************************************************函数名称: Linklist_Create函数功能: 入 参:出 参:返回 值:*******************************************************************************************************/void Linklist_Print(stListNode * pstHead){ stListNode * pstCurNode = NULL; if (NULL == pstHead) { printf("Empty List\n"); return; } //pstCurNode = pstHead->next; pstCurNode = pstHead; while (NULL != pstCurNode) { printf("%c\n",pstCurNode->data); pstCurNode = pstCurNode->next; } return ;}/******************************************************************************************************函数名称: Linklist_Create函数功能: 入 参:出 参:返回 值:*******************************************************************************************************/stListNode * Linklist_Create(){ char ch; stListNode *pstHead = NULL; stListNode *pstCurNode = NULL; stListNode *pstNewNode = NULL; /*创建头节点*/ pstHead = (stListNode *) malloc(sizeof(stListNode)); if (NULL == pstHead) { printf("Linklist_Init malloc fail\n"); return pstHead; } pstHead->data = '\0'; //头节点的数据域为无效值 pstHead->next = NULL; /*pstCurNode 指向pstHead,pstCurNode移动,将将创建的节点串联起来*/ pstCurNode = pstHead; /*创建数据节点*/ while((ch = getchar()) != '\n') { pstNewNode = (stListNode *) malloc(sizeof(stListNode)); pstNewNode->data = ch; pstNewNode->next = NULL; printf("%c\n",pstNewNode->data); pstCurNode->next = pstNewNode; pstCurNode = pstNewNode; } /*返回链表头节点*/ return pstHead;}/*main.c*/#include "stdio.h"#include "math.h"#include "stdlib.h"#include "string.h"#include "list.h"stListNode * g_pstHead = NULL;int main (){ stListNode *pstHead = NULL; //tHead = Linklist_Init(); pstHead = Linklist_Create(); Linklist_Print(pstHead); printf("Hello world!\n"); system("pause");}
运行结果:
创建过程图示:
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月16日 17时16分57秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
华为hybrid vlan配置
2019-03-04
OSPF路由重分发配置实例
2019-03-04
BGP实验配置实例
2019-03-04
IEEE期刊缩写(常见的电机控制类期刊)
2019-03-04
VS中使用c++函数显示找不到标识符
2019-03-04
排列组合
2019-03-04
Why Software Development Methodologies Suck?
2019-03-04
怎样从0开始搭建一个测试框架_0
2019-03-04
JPEG压缩技术
2019-03-04
Algorithm: K-Means
2019-03-04
Vmware Pro 12 上安装CentOS 7 64位
2019-03-04
《Windows程序设计》读书笔八 计时器
2019-03-04
《Windows程序设计》读书笔十 菜单和其他资源
2019-03-04
开发基于MFC的ActiveX控件的时候的一些消息处理
2019-03-04
一个C/C++ 命令行参数处理的程序
2019-03-04
一个使用Java语言描述的矩阵旋转的例子
2019-03-04
两款用于检测内存泄漏的软件
2019-03-04
王爽 《汇编语言》 读书笔记 三 寄存器(内存访问)
2019-03-04