【数据结构与算法|C语言 创建单链表】C语言尾插法实现创建定长度单链表
头尾指针实现插入数据
//#include
// 单链表
# include
# include // typedef <数据类型> <别名>
// 结构体typedef 定义简单的别名为LNode
typedef struct LNode{
// 数据域
int data;
// 指针域节点类型指针指向下个整个节点
struct LNode *next;
// struct LNode 数据类型int按int长度划分地址,LNode按Lnode长度划分地址
}node;
// 更改 链表节点的结构体名 为node// 创建一个长度为i的链表
node * getelem(int i) {
// 创建一个头节点
node *p = (node *)malloc(sizeof(node));
// 节点内指针为空
p->next = NULL;
// 创建一个头指针始终指向头结点
node *head = p;
// 创建一个尾指针始终指向尾节点
node *end = p;
// 初始节点为空,头和为都指向同一个
// 生成一个长度为10的链表
for (int j=0;
jdata = https://www.it610.com/article/0;
// 尾指针域为空
a->next = NULL;
// 在尾节点后插入该节点(尾插法)
end->next = a;
// 此时新节点为尾节点
end = a;
}
return head;
}int main() {
node *L = getelem(10);
// 指针c存放 头指针指向的头结点
node *c = L->next;
for (int i=0;
i<10;
i++) {
// 读出此时节点的数据
printf("%d\n", c->data);
// 指针c指向下一个节点
c = c->next;
}
return 0;
}
推荐阅读
- 数据结构(C语言实现)|顺序表C语言版
- 数据结构|C语言单链表定义及各类操作
- 数据结构|反向遍历单链表 C语言版
- C语言基础|【C语言趣味游戏】猜数字
- c语言|C语言——指针初识(三)(指针和指针数组,一级指针,二级指针详解)
- 指针|C语言中的数组指针和指针数组的区别,代码+图例详解
- 数据结构|3000字带你深入理解二叉树(图解剖析)
- 数据结构->顺序表的操作
- C语言|【C语言】#define 定义常量和宏