简答题

设一个带头结点的单向链表的头指针为head,设计算法,将链表的记录,按照data域的值递增排序。

正确答案

voidassending(Lnode*heaD.
{Lnode*p,*q,*r,*s;
p=head->next;q=p->next;p->next=NULL;
while(q)
{r=q;q=q->next;
if(r->data<=p->datA.
{r->next=p;head->next=r;p=r;}
else
{while(!p&&r->data>p->datA.
{s=p;p=p->next;}
r->next=p;s->next=r;}
p=head->next;}
}

答案解析

相似试题
  • 下面create函数的功能是建立一个带头结点的单向链表,新产生的结点总是插入在链表的末尾。单向链表的头指针作为函数值返回。请填空。

    填空题查看答案

  • 以下函数creatlist用来建立一个带头结点的单链表,新的结点总是插入在链表的末尾。链表的头指针作为函数值返回,链表最后一个结点的next域放入NULL,作为链表结束标志。data为字符型数据域,next为指针域。读入时字符以#表示输入结束(#不存入链表)。

    填空题查看答案

  • 某带头结点的单链表的头指针为head,判定该链表为空的条件是()

    填空题查看答案

  • 某带头结点的单链表的头指针为head,判定该链表为非空的条件是()。

    填空题查看答案

  • 设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()

    填空题查看答案

  • 已知一个不带头结点单链表的头指针为L,则在表头元素之前插入一个新结点*s的语句为:()

    单选题查看答案

  • 设线性表以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data。完成程序中空格部分。

    简答题查看答案

  • 设线性表为(16,20,26,24),以不带头结点的单向链表存储,链表头指针为head,以下程序的功能是输出链表中各结点中的数据域data。完成程序中空格部分。

    简答题查看答案

  • 头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表, 可执行head=head->nex;和()。

    单选题查看答案