链表的概述,节点的定义,链表的创建,链表的遍历

目录

链表概述

链表创建

        节点的定义

        头节点的创建

        后续节点的创建并连接形成链表——头插法

        后续节点的创建并连接形成链表——尾插法

        链表的遍历——输出链表数据域内容


链表概述

        链表,别名 链式存储结构 或 单链表 ,用于存储逻辑关系为  一对一  同类型 的数据。 与顺序表不同,链表不限制数据的物理存储状态,物理存储空间可以不连续。换句话说,链表存储的数据元素,其物理存储位置是随机的分散的,由其指针域指向后续节点的地址来连接形成线性表的一种存储方式,像用链子把不同的物体连接在一起一样。

链表创建

        链表一般为单链表,由于需要同时记录数据和地址,故需要用到结构体来进行链表节点的数据类型定义。

        节点的定义

//节点的定义
struct Node{
    int data;    //数据域
    struct Node *next;    //指针域
};

//struct 关键词
//用于自定义数据类型

此时我们已经定义了数据类型,此类型用于创建链表的节点使用。


        头节点的创建

//主函数 
int main(){
	
    //定义节点类型的指针head,申请节点类型的空间大小&#x
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
节点类型是链表中的元素,每个节点包含数据和指向下一个节点的指针。在C++中,可以通过结构体来定义节点类型,如下所示: ```cpp struct Node { int data; Node* next; }; ``` 其中,data用于存储节点中的数据,next是指向下一个节点的指针。 创建链表可以通过动态分配内存来实现,如下所示: ```cpp Node* head = NULL; // 定义链表头指针 // 创建三个节点并赋值 Node* node1 = new Node; node1->data = 1; node1->next = NULL; Node* node2 = new Node; node2->data = 2; node2->next = NULL; Node* node3 = new Node; node3->data = 3; node3->next = NULL; // 将节点链接起来形成链表 head = node1; node1->next = node2; node2->next = node3; ``` 遍历链表可以通过循环遍历每个节点来实现,如下所示: ```cpp Node* current = head; // 从链表头开始遍历 while (current != NULL) { cout << current->data << " "; // 输出节点数据 current = current->next; // 指向下一个节点 } ``` 完整代码如下: ```cpp #include <iostream> using namespace std; // 定义节点类型 struct Node { int data; Node* next; }; int main() { Node* head = NULL; // 定义链表头指针 // 创建三个节点并赋值 Node* node1 = new Node; node1->data = 1; node1->next = NULL; Node* node2 = new Node; node2->data = 2; node2->next = NULL; Node* node3 = new Node; node3->data = 3; node3->next = NULL; // 将节点链接起来形成链表 head = node1; node1->next = node2; node2->next = node3; // 遍历链表并输出节点数据 Node* current = head; while (current != NULL) { cout << current->data << " "; current = current->next; } return 0; } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值