链表
作者:
𝑬𝒑𝒊𝒑𝒉𝒂𝒏𝒊𝒆𝒅
,
2022-02-16 17:22:45
,
所有人可见
,
阅读 184
/*
链表的基本操作
*/
#include<iostream>
using namespace std;
//定义节点的结构体
struct Node{
int val;
Node * next;
Node(int _val):val(_val),next(NULL){} //有参构造
};
int main(){
Node* p =new Node(1); //返回的地址,类似java 等价写法:Node node = Node(1); Node *p=&node;
Node* q =new Node(2); //auto,可以自动识别new Node返回值的类型
Node* o =new Node(3);
p->next=q; //p指向q
q->next=o; //q指向o
Node* head=p; //定义头节点,主要是用于记录
//添加一个节点(头插法)
Node* u =new Node(4);
u->next=head; //新加节点指向头节点
head=u; //更新头节点
//删除一个节点(链表的删除,不是说将这个节点干掉,而是在原链表遍历的时候,遍历不到即可!)
head->next=head->next->next;
//遍历链表
for(Node* i=head;i;i=i->next){
cout<<i->val<<endl;
}
return 0;
}