// DoubleList.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::endl;
typedef struct tagDoubleList
{
int nData;
struct tagDoubleList *pPrior;
struct tagDoubleList *pNext;
}DoubleList_S;
int _tmain(int argc, _TCHAR* argv[])
{
DoubleList_S *pNode1 = new DoubleList_S;
pNode1->nData = 1;
pNode1->pPrior = NULL;
pNode1->pNext = NULL;
DoubleList_S *pNode2 = new DoubleList_S;
pNode2->nData = 2;
pNode2->pPrior = NULL;
pNode2->pNext = NULL;
DoubleList_S *pNode3 = new DoubleList_S;
pNode3->nData = 3;
pNode3->pPrior = NULL;
pNode3->pNext = NULL;
//将节点1和节点3连接起来
pNode1->pNext = pNode3;
pNode3->pPrior = pNode1;
//插入节点2
pNode2->pNext = pNode3->pPrior->pNext;
pNode3->pPrior->pNext = pNode2;
pNode2->pPrior = pNode3->pPrior;
pNode3->pPrior = pNode2;
//删除节点2
pNode1->pNext = pNode2->pNext;
pNode3->pPrior = pNode2->pPrior;
if (pNode1)
{
delete pNode1;
pNode1 = NULL;
}
if (pNode2)
{
delete pNode2;
pNode2 = NULL;
}
if (pNode3)
{
delete pNode3;
pNode3 = NULL;
}
return 0;
}