美文网首页
树的关联

树的关联

作者: 木头木脑a | 来源:发表于2020-03-26 16:20 被阅读0次

    /Link==0,表示指向左或右孩子

    //Tread==1,表示指向前驱或后继

    typedefenum{Link, Thread} tag;

    typedefstructBiThrNode

    {

    TElemType data;

    structBiThrNode *lchild, *rchild;

    tag ltag, rtag;

    }BiThrNode, *BiThrTree;

    //在中序遍历中进行线索化

    BiThree pre, Thread;

    voidmidThreading(BiThrTree p)

    {

    if(p)

    {

    midThreading(p->lchild);//递归线索化左子树

    if(!p->lchild)//没有左孩子

    {

    p->ltag = Thread;//前驱线索

    p->lchild = pre;//左孩子指向前驱

    }

    if(!pre->rchild)//前驱没有右孩子

    {

    pre->rtag = Thread;//后继线索

    pre->rchild = p;//前驱的右孩子指向后继(当前结点)

    }

    pre = p;

    midThreading(p->rchild);//递归线索化右子树

    }

    }

    //百分制-->五分制

    if(a<60)

    b="不及格";

    elseif(a<70)

    b="及格";

    elseif(a<80)

    b="中";

    elseif(a<90)

    b="良";

    else

    b="优";

    /*

    火车调度问题

    某铁路局调度火车车厢运送旅客和货物,规则如下:

    一组列车只有一个火车头,最多牵引10节车厢;

    同类车厢先到先连接,客车厢先于货车厢连接;

    每连接4辆客车厢,才允许连接1辆货车厢;

    若客车厢不足4辆,则以货车厢代替;

    若无货车厢,则全部连接客车厢;

    编写代码来模拟火车调度管理,建议使用队列

    */

    //设Q为数组表示最大的车厢数

    //设Q1为客车厢队列,设Q2为货车厢队列

    voidmanager()

    {

    Queue q;

    Queue q1;//客车厢

    Queue q2;//货车厢

    inti=0;//已连接的客车厢数

    intj=0;//车头已经连接多少车厢

    while(j<10)

    {

    if(q1 && i<4)//当客车厢不空,且没有4节时

    {

    DeQueue(q1, x);//客车厢队列出队,

    EnQueue(q, x);//即将其连接到车头

    i++;

    j++;

    }

    elseif(i==4 && q2)//客车厢已连接4节,同时还有货车厢在等待连接

    {

    DeQueue(q2, x);//货车厢出队

    EnQueue(q, x);//连接到车头

    j++;

    i=0;

    }

    else//没有客车厢或货车厢

    {

    while(j<10&& i<4&& q2)

    {

    DeQueue(q2, x);//货车厢出队

    EnQueue(q, x);//连接到车头

    i++;

    j++;

    }

    i=0;

    }

    if(!q2 && !q1)

    break;//当客车和货车厢不足时,结束

    }

    }

    /*

    编码实现:设带头结点L的单链表,从尾到头反向输出每个结点的值

    */

    /*

    编码实现:设带头结点L的单链表,将链表内容逆序,要求辅助空间复杂度为O(1)

    */

    /*

    编码实现:设带头结点L的单链表,查找链表中倒数第k个位置上的结点,如果找到输出其data值,找不到输出-1

    */

    相关文章

      网友评论

          本文标题:树的关联

          本文链接:https://www.haomeiwen.com/subject/hkmcuhtx.html