链表的相关基本知识
作者:
Agone
,
2022-01-30 10:54:43
,
所有人可见
,
阅读 177
#include<iostream>
using namespace std;
struct node
{
int val;
node* next;
node(int_val): val(_val),next(NULL) {}//构造函数
};
int main()
{
//定义一个链表的节点
//node a=node(1); //节点的值是1
// node*p=&a;
// //两部合二为一
node* p=new node(1);//加上new
//返回的是地址,不加new返回的是值
//因为上面定义了p是指针类型的
//所以调用的时候要这样调用
// p->next =p;//指向了自己
// p->val;
node* q=new node(2);
p->next=q;
node* o=new node(3);
q->next=o;
//遍历一个链表
//首先定义一个头结点的地址
node* head=p;
for(node* i=head;i!=NULL;i=i->next)//NULL表示0,空指针,i=i->next 表示指向下一个节点
{
cout<<i->val<<endl;//i->val 表示输出节点的值
}
//在链表的最前面加一个节点
node* u=new node(4);
u->next=head;//让新节点的next指针指向头节点
head=u;//把头节点的地址变成新节点的地址
//删除一个节点 ,链表的删除意思是 在遍历的时候遍历不到这个点, 把它跳过去就可以了
head->next=head->next->next;
}