实现链表 算法竞赛进阶指南

#include<bits/stdc++.h>
using namespace std;
struct Node{
	int value;
	Node *prev,*next;
}; 
Node * head ,*tail, *q;

void initialize()//建新链表 
{
	head = new Node();
	tail = new Node();
	head -> next = tail;
	tail -> prev = head;
}
void insert(Node *p,int val)//在p后插入包含数据val的新节点 
{
	
	q = new Node();
	q -> value = val;
	p -> next -> prev = q;
	q -> next = p -> next;
	p -> next = q;
	q -> prev = p;
}
void remove(Node *p)//删除p 
{
	p ->prev ->next = p->next;
	p ->next ->prev = p->prev;
	delete p;
}
void recycle()//链表内存回收 
{
	while(head!=tail)
	{
		head =head->next;
		delete head ->prev;
	}
	delete tail;
}
int main()
{
	
}

猜你喜欢

转载自blog.csdn.net/qq_43768149/article/details/87975298
今日推荐