zoukankan      html  css  js  c++  java
  • 二维指针可以减少双向或单向链表的初始判断。

    比C与指针的代码12.7还少五行。

    传二维指针进去,在链表首插入的判断语句可免。


    typedef struct doublelinkstu
    {
        int value;
        string name;
        doublelinkstu * pre;
        doublelinkstu * next;
        doublelinkstu()
        {
            pre=NULL;
            next=NULL;
        };

    } DoubleLink;


    void mysortd3(DoubleLink ** headpoint ,DoubleLink * insertnode)
    {
        DoubleLink * postNode=(*headpoint);
        DoubleLink * preNode=(*headpoint);
        int firstvalue=(*headpoint)->value;
        while((postNode=*headpoint)!=NULL&&postNode->value<insertnode->value)
        {
            preNode=postNode;
            headpoint=&(postNode->next);
        }

        insertnode->next=postNode;
        (*headpoint)=insertnode;//原因在于这句话,  如果while循环一次,headpoint就是head,但是如果是循环多次,headpoint被赋值为&(preNode->next),好NB的写法。
        if(postNode!=NULL)
        {
            postNode->pre=insertnode;
        }

        if(firstvalue!=preNode->value)
        {
            insertnode->pre=preNode;
        }
    }

  • 相关阅读:
    exe4j的使用
    java线程生命周期及其对应方法
    自动登录开心网
    java小知识点
    java工具类目录
    java 上传图片
    eclipse+svn
    maven
    读propert文件
    hadoop学习
  • 原文地址:https://www.cnblogs.com/gaoxianzhi/p/7401965.html
Copyright © 2011-2022 走看看