链表是什么?
是一种在物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是由链表中的指针次序去实现的。
示例
1. 单向链表
struct LinkNode {
int value; // 节点数据
LinkNode *nextNode; // 指向下一个节点
LinkNode(int val) : value(val), nextNode(nullptr) {}
}
int main()
{
LinkNode* headNode= new LinkNode(10); // 创建第一个节点
// 创建其它节点
LinkNode* node1 = new LinkNode(6);
LinkNode* node2 = new LinkNode(3);
LinkNode* node3 = new LinkNode(1);
// 指定链表顺序
headNode->nextNode = node1;
node1->nextNode = node2;
node2->nextNode = node3;
// 打印链表
std::cout << "value: ";
LinkNode *p = headNode;
while (nullptr != p) {
std::cout << p->value << " ";
p = p->nextNode;
}
std::cout << std::endl;
delete node3;
delete node2;
delete node1;
delete headNode;
}