zoukankan      html  css  js  c++  java
  • C++链表首尾节点的常规方案

        //链表首尾节点的常规方案
        //示例代码片段,不能编译
    
        ///////////////////////////////////////////////////////////////
        //循环,永远非空
        head->next = head;  //头插入
        t->next = x->next; x->next = t;     //x节点后插入t节点
        x->next = x->next->next;            //删除x后的节点
    
        t=head;
        do{ t=t->next; } while(t != head)   //循环遍历
    
        if(head->next ==  head)             //测试是否只有一个元素
    
        ///////////////////////////////////////////////////////////////
        //有头节点,尾节点为null
        head = 0;                           //初始化
    
        if(x==0) {head=t; head->next = 0;}  //在x节点后插入t节点
        else { t->next=x->next; x->next=t;}
    
        t = x->next; x->next=t->next;       //删除x后的节点
        //x->next = x->next->next 表达更简单
    
        for(t=head; t!=0; t=t->next)        //遍历循环
        if(head == 0)                       //测试是否为空
    
        ///////////////////////////////////////////////////////////////
        //有哑元头节点,尾节点为null
        head = new node; head->next=0;      //初始化
        t->next = x->next; x->next = t;     //x节点后插入t节点
        t = x->next; x->next=t->next;       //删除x后的节点
        //x->next = x->next->next 表达更简单
    
        for(t=head->next; t!=0; t=t->next)  //遍历循环
        if(head->next == 0)                 //测试是否为空
    
        ///////////////////////////////////////////////////////////////
        //有哑元头节点和尾节点
        head=new node;                      //初始化
        z=new node;
        head->next=z; z->next=z;
    
        t->next=x->next; x->next=t;         //在x节点后插入t节点
        x->next = x->next->next             //删除x后的节点
        for(t=head->next; t!=z; t=t->next)  //遍历循环
        if(head->next == z)                 //测试是否为空
  • 相关阅读:
    京东分页
    相册分类列表页
    在线运行Javascript,Jquery,HTML,CSS代码
    点击事件后动画提示
    一些广告代码
    爱可有—之最经典
    爱可有网络社区需要定义
    鼠标移动时缩小图片显示说明
    Flask-RESTful 快速入门
    Sequelize 关系模型简介
  • 原文地址:https://www.cnblogs.com/wouldguan/p/2730222.html
Copyright © 2011-2022 走看看