qq_40860166 2017-10-30 13:50
浏览 743

C语言 用指针类型编写插入排序疑问???

直接上相关代码:

struct process
{
    int id;
    int arrive_t;//到达时间
    int servre_t;//服务时间
    int start_t;//服务开始时间
};

struct team
{
    process *pc;
    team *next;
    team *pre;
};
void sortp()
{ 
    team *p,*px;
    int a[20];
    int i=0;
  //plink为链表头结点
    for(p=plink->next->next;p;p=p->next)//按照到达时间排序(插入排序)
    {
        int key = p->pc->arrive_t;
        team *py=p->next;
        a[i]=p->pc->id;
        //a[i]数组用来查看链表执行序列
        //砍掉要比较的那个节点
        if(!p->next)//避免最后一个节点指针出错
        {
            p->pre->next=NULL;
            p->pre=NULL;
        }
        else
        {

            p->next->pre=p->pre;
            p->pre->next=p->next;
            px=p->pre;
            py=p;
            p->pre=NULL;
            p->next=NULL;

        }
        for(px;px->pre;px=px->pre)//插入排序
        {
            if(px->pc->arrive_t<key) break; 
        }

        p->pre=px;
        px->next->pre=p;
        p->next=px->next;
        px->next=p; 

        p=py;
        py=NULL;
        //if(!p->next) break;
        i++;
    }
}

当有两个p->pc->arrive-t 相等并且相邻输入时,链表会在两者之间无限循环

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 使用Photon PUN2解决游戏得分同步的问题
    • ¥15 微带串馈天线阵列每个阵元宽度计算
    • ¥15 keil的map文件中Image component sizes各项意思
    • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
    • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
    • ¥15 划分vlan后,链路不通了?
    • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 Centos / PETGEM
    • ¥15 划分vlan后不通了