typedef struct node { int data;struct node*next; }linknode*link; void Insertsort(link L) { link P,q,r,u;

admin2013-12-19  28

问题 typedef struct node
    {
    int data;struct node*next;
    }linknode*link;
    void Insertsort(link L)
    {
    link P,q,r,u;
    P=L->next:
    (1)   ;
    while((2))
    {
    r=L;q=L->next;
    while((3)&&q->data<2=p->data)
    {
    r=q;
    q=q->next;
    }
    u=p->next;
    (4)
    (5)
    p=u;
    }
    }

选项

答案(1)L->next=null//置空链表,然后将原链表结点逐个插入到有序表中 (2)p!=null//当链表尚未到尾,p为工作指针 (3)q!=null//查p结点在链表中的插入位置,这时q是工作指针 (4)p->next=r->next//将p结点链入链表中 (5)r->next=p//r是q的前趋,u是下个待插入结点的指针

解析 本题的设计思想是先生成一个空链表,然后将待排序链表的结点依次插入这个空链表,所有结点都插入完毕后,这个新生成的链表就是所需的有序链表。
转载请注明原文地址:https://jikaoti.com/ti/R9U3FFFM
0

最新回复(0)