链表是常见的一种数据结构,它是一种线性表,但是不会像数组那样按照顺序存储结构,链表由一系列结点组成。每个节点中不仅存储数据元素的数据,还存储着下一个结点的指针。可能这样说比较抽象,我给大家画个图就会比较清晰了:
#include<iostream>
using namespace std;
int main(void) {
struct ListNode { //定义一个链表结构体
int data; //链表中的数据
ListNode* next; //链表中的下一个结点的指针
};
//定义一个链表,内容为:1->2->3->4->5->NULL
ListNode node5 = { 5,NULL };
ListNode node4 = { 4,&node5 };
ListNode node3 = { 3,&node4 };
ListNode node2 = { 2,&node3 };
ListNode node1 = { 1,&node2 };
ListNode* list = &node1; //至此已完成链表list的定义
// 打印链表
ListNode* np = list; //定义一个指针指向list链表
while (np) {
cout << (*np).data << "->"; //(*np)的意思是对np指针指向的内容进行解引用
np=(*np).next; //将np指向下一个节点
}
cout << "NULL";
}
运行程序,可以得到输出结果:
好了,今天的干货就分享到这里,感谢大家观看,若有什么问题,欢迎大家提出!?