一.C++实现链表
链表以结点为单位,每个元素都是一个独立对象,在内存空间的存储是非连续的。链表结点有两个成员变量:
#include<iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;//指针域
ListNode(int x) :val(x), next(nullptr) {}
};
int main()
{
//实例化结点
ListNode* n1 = new ListNode(4);//结点head
ListNode* n2 = new ListNode(5);
ListNode* n3= new ListNode(1);
//指针指向
n1->next = n2;
n2->next = n3;
cout << "n1=" << n1->val << endl;//n1->val 指向数据
cout << "n2=" << n2->val << endl;
cout << "n3=" << n3->val << endl;
cout << "n1=" << n1-> next<< endl;//n1指向的是地址
cout << "n2=" << n2->next << endl;
cout << "n3=" << n3->next << endl;//n3->next是null 地址为0
return 0;
}
二.链表结构图如下:
