//
开更!!!
//------------------------------------
头文件
#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