zoukankan      html  css  js  c++  java
  • 单链表逆置

      基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。

             实现代码:

    1. typedef int DataType; //类型定义  
    2. typedef struct node{  //单链表定义  
    3.       DataType data;  
    4.       struct node* next;  
    5. }LinkedNode,*LinkList;  
    6. void ReverseList(LinkList& ListHead)  
    7. {  
    8.     cout<<"Begin to Reverse the List"<<endl;  
    9.     if( (NULL==ListHead)||(NULL==ListHead->next) )return ;  //边界检测  
    10.     LinkedNode* pPre=ListHead;    //先前指针  
    11.     LinkedNode* pCur=pPre->next;  //当前指针  
    12.     LinkedNode* pNext=NULL;       //后继指针  
    13.     while(pCur!=NULL)  
    14.     {  
    15.         pNext=pCur->next;  
    16.         pCur->next=pPre;  
    17.         pPre=pCur;  
    18.         pCur=pNext;  
    19.     }  
    20.     ListHead->next=NULL;  
    21.     ListHead=pPre;        //记录下新的头结点  
    22. }  


                    

               示意图:

  • 相关阅读:
    6.20 委托
    6.20 VAR 万能变量
    LINQ查询
    LINQ基本语句
    母版页
    分页+组合查询
    Document
    Select查询语句1
    Cookie对象
    Session对象
  • 原文地址:https://www.cnblogs.com/duyy/p/3813087.html
Copyright © 2011-2022 走看看