2021-6-23 链表操作的一些问题

1.用struct实现一个双向链表,基本素养,一定要会

struct tagDListNode{
	int val;
	tagListNode *pre;
	tagListNode *next;
	tagDListNode() : val(0),pre(nullptr),next(nullptr){}
	tagDListNode(int _val) : val(_val),pre(nullptr),next(nullptr){}
	tagDListNode(int _val,tagListNode *_pre,tagListNode *_next) : val(_val),pre(_pre),next(_next){}
}ListNode;

2.关于->next在等式左边和右边的含义

	ListNode *head=new ListNode(0);
	ListNode *cur=new ListNode(1);
	
	/* 将head指针,指向cur的next节点,本质上来说,cur已经有下一个节点了,只是把head挪一下位置 */
	head=cur->next;
	
	/* 讲head指针指向的节点,当做cur的next节点,这里可能cur本身没有下一个节点,或者cur的下一个节点是其他node */
	cur->next=head;		
posted @ 2021-06-24 09:38  shenlei_blog  阅读(37)  评论(0)    收藏  举报