//开更!!!
//------------------------------------头文件
#include<iostream>
using namespace std;
//------------------------------------创建链表,每个里面放上一个指针,一个数值
typedef struct ss1
{
int x;
struct ss1 *next;
}ss1;
//------------------------------------链表里有五个,数字是0——4
int main()
{
ss1 *pTmp,*pCurrent,*pHead;
for (int i=0;i<5;i++)
{
pTmp=new ss1;
pTmp->x=i;
if (i==0)
{
pHead=pTmp;
pCurrent=pTmp;
}
else
{
pCurrent->next=pTmp;
pCurrent=pTmp;
}
}
//------------------------------------删除第一个,当然删除是指让它从链表中脱离,并不是指从内存中抹去,直接把头变成第二个。
pHead=pHead->next;
//------------------------------------删除第三个,别问为什么。。。
ss1 *pXx;
pCurrent=pHead;
for (int i=0;i<4;i++)
{
if (i==1)
{
pXx=pCurrent->next;
pXx=pXx->next;
pCurrent->next=pXx;
break;
}
pCurrent=pCurrent->next;
}
//------------------------------------删除最后一个。
pCurrent=pHead;
for (int i=0;i<3;i++)
{
if (i==1)
{
pCurrent->next=NULL;
break;
}
else
{
pCurrent=pCurrent->next;
}
}
//------------------------------------打印
pCurrent=pHead;
while(pCurrent)
{
cout<<pCurrent->x<<endl;
pCurrent=pCurrent->next;
}
#include<iostream>
using namespace std;
//------------------------------------创建链表,每个里面放上一个指针,一个数值
typedef struct ss1
{
int x;
struct ss1 *next;
}ss1;
//------------------------------------链表里有五个,数字是0——4
int main()
{
ss1 *pTmp,*pCurrent,*pHead;
for (int i=0;i<5;i++)
{
pTmp=new ss1;
pTmp->x=i;
if (i==0)
{
pHead=pTmp;
pCurrent=pTmp;
}
else
{
pCurrent->next=pTmp;
pCurrent=pTmp;
}
}
//------------------------------------删除第一个,当然删除是指让它从链表中脱离,并不是指从内存中抹去,直接把头变成第二个。
pHead=pHead->next;
//------------------------------------删除第三个,别问为什么。。。
ss1 *pXx;
pCurrent=pHead;
for (int i=0;i<4;i++)
{
if (i==1)
{
pXx=pCurrent->next;
pXx=pXx->next;
pCurrent->next=pXx;
break;
}
pCurrent=pCurrent->next;
}
//------------------------------------删除最后一个。
pCurrent=pHead;
for (int i=0;i<3;i++)
{
if (i==1)
{
pCurrent->next=NULL;
break;
}
else
{
pCurrent=pCurrent->next;
}
}
//------------------------------------打印
pCurrent=pHead;
while(pCurrent)
{
cout<<pCurrent->x<<endl;
pCurrent=pCurrent->next;
}
}
重点训练指针用法,暂不处理delete