单向链表的简单实现(C语言版)
2018-02-05 02:39
246 查看
单向链表的简单实现(C语言版)
半夜睡不着觉,爬起来写了个链表哈哈!先偷懒直接代码注释啦;#include <stdio.h> #include <stdlib.h> //定义一个结构体代表链表结点 struct node{ int data; //结点中存放数据 struct node *next; //指向下一个结点的指针 }; //为求方便给结点类型一个新的类型名Lnode typedef struct node Lnode; int main(){ //定义三个指针 1.head:头指针;2.P:每次通过该指针获取新的内存空间; //3.P1:作为记忆连接结点使用; Lnode *head, *p1, *p; //获取头结点,此时三个指针指向同一片内存空间 head = (Lnode*)malloc(sizeof(Lnode)); p = head; p1 = head; //输入整数,存到头结点data中 scanf("%d", &p->data); //设定当数据域data=0即用户输入0时退出循环,链表建立结束 while(p->data != 0){ //获取新的内存空间 p = (Lnode*)malloc(sizeof(Lnode)); //连接结点 p1->next = p; //用p1跟踪当前最后一个结点 p1 = p; //存放结点数据 scanf("%d", &p->data); }; //让尾结点指针变量指向NULL p->next = NULL; //让p1指向头结点,用于遍历链表 p1 = head; //遍历链表 while(p1->next != NULL){ printf("%d\n", p1->data); p1 = p1->next; }; return 0; }
编译运行代码,输入1,2,3,4,5,0; 运行结果如下:
相关文章推荐
- (C语言版)链表(一)——实现单向链表创建、插入、删除等简单操作(包含个人理解说明及注释,新手跟着写代码)
- (C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
- (C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
- (C语言版)链表(一)——实现单向链表创建、插入、删除等简单操作(包含个人理解说明及注释,新手跟着写代码)
- (C语言版)链表(一)——实现单向链表创建、插入、删除等简单操作(包含个人理解说明及注释,新手跟着写代码)
- (C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
- 转载的标准文档:C语言实现一个简单的单向链表list
- 链表的简单实现(C语言版)
- java单向链表基本操作简单实现
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
- 使用java实现的超简单的单向链表 头插法
- C语言实现简单的单向链表
- 用链表实现一个简单的学生操作管理系统C语言版
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- 单向链表简单实现
- 单向链表的简单实现
- 数组简单实现单向链表
- 单向循环链表的简单实现--数据结构学习(二)
- (C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
- C语言实现一个简单的单向链表list