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. }  


                    

               示意图:

  • 相关阅读:
    二、一切都是对象
    一、对象导论
    CSS 属性大全
    CSS颜色代码大全
    CSS Position 定位属性
    CSS Box Model 盒子模型
    ThreadLocal
    Java 模拟死锁
    byte 最小值为啥是最小是 -128 ;int最小值为啥是 -2147483648
    cmd 查看端口号占用情况
  • 原文地址:https://www.cnblogs.com/duyy/p/3813087.html
Copyright © 2011-2022 走看看