15.11.4

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

你可能感兴趣的:(15.11.4)