首页学历类考试大学计算机科学
(填空题)

设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。

正确答案

q->next=p->next,p->next=q

答案解析

相似试题

  • (简答题)

    设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nodel*next;}node;试设计一个算法:void copy(node*headl,node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。

    答案解析

  • (填空题)

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

    答案解析

  • (填空题)

    设线性链表的存储结构如下: struct node {ELEMTP data; struct node *next; } 试完成下列建立单链表的算法。 creat() {char var; head=(struct node *)malloc(sizeof(struct node)); head->next= () ; while((var=getchar())!=‘/n’){ ptr=( struct node *)malloc(sizeof(struct node)); ptr->data= var ;ptr->next=head->next; head->next= ptr ; } }

    答案解析

  • (单选题)

    设单链表中结点结构为(data,link).若想摘除结点*p的直接后继,则应执行下列哪一个操作()

    答案解析

  • (填空题)

    设线性链表的存储结构如下: struct node {ELEMTP data; struct node *next; } 试完成下列在链表中值为x的结点前插入一个值为y的新结点。如果x值不存在,则把新结点插在表尾的算法。 void inserty(struct node *head,ELEMTP x,ELEMTP y) {s=(struct node *)malloc(sizeof(struct node)); (); if(){s->nexr=head;head=s;} else { q=head;p=q->next; while(p->dqta!=x&&p->next!=NULL){q=p;()} if(p->data= = x){q->next=s;s->next=p;} else{p->next=s;s->next=NULL;} } }

    答案解析

  • (填空题)

    头结点的next域值是指示单链表的()

    答案解析

  • (填空题)

    下列算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同,试完成该算法。 void DelSameNode(LinkList L) //L是带头结点的单链表,删除其中的值重复的结点// {ListNode * p,*q,*r; p=L->next; //p初始指向开始结点// while(p){ //处理当前结点p// q=p; r=q->next; do { //删除与结点*p的值相同的结点// while(r&&r->data!=p->data){ q=r; r=r->next; } if(r){ //结点*r的值与*p的值相同,删除*r// q->next=r->next; free(r); r=(); } }while( r ); p=p->next; } }

    答案解析

  • (单选题)

    设rear是指向非空带头结点的循环单链表的尾指针,则在起始结点之前插入指针p所指结点的操作可表示为()

    答案解析

  • (简答题)

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

    答案解析

快考试在线搜题