316 字
2 分钟
链表创建
2023-03-04

存储结构定义#

定义数据结构有两种方法 第一种是通过struct定义

struct Node {
int val;//值域
Node* next;//指针域
};

第二种是通过typedef定义

typedef struct Node {
int val;//值域
Node* next;//指针域
}Node;

无头节点链表创建#

有头节点链表创建#

这个是直接封装成函数的写法,思想其实和无头节点链表创建的那个一样

//带头节点 单链表创建
Node* createList(int n) {
//头节点 不存数据 指向空
Node* Head = new Node;
Head->next = NULL;
Node* pre = Head;
cout << "请依次输入链表" << n << "个节点的值:" << endl;
for (int i = 0; i < n; ++i) {
//每次循环都创建一个新的节点
Node* temp = new Node;
//把值赋给temp节点的数据域
cin >> temp->val;
//pre的指数域指向下一个节点temp,把pre和temp连接起来
pre->next = temp;
//把temp节点赋值给pre 重新定义pre
pre = temp;
//在下次for循环再一次创建新的temp节点前 temp的指数域指向空
temp->next = NULL;
}
//把头节点返回 知道头节点 节点与节点之间又相互连接 所以知道每个节点中的值
return Head;
}
链表创建
https://fuwari.cbba.top/posts/链表创建-输出与反转/
作者
Chen_Feng
发布于
2023-03-04
许可协议
CC BY-NC-SA 4.0