15.11.4

来源:互联网 发布:善领dsa2016电子眼数据 编辑:程序博客网 时间:2024/06/12 00:12
//开更!!!
//------------------------------------头文件
#include<iostream>
usingnamespacestd;
//------------------------------------创建链表,每个里面放上一个指针,一个数值
typedefstruct ss1
{
   
int x;
   
structss1 *next;
}ss1;
//------------------------------------链表里有五个,数字是0——4
int main()
{
   
ss1 *pTmp,*pCurrent,*pHead;
   
for (int i=0;i<5;i++)
    {
        pTmp=
newss1;
        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
1 0