L1是不带头结点的单链表。以下算法功能是什么? Status fun(LinkList L1, LinkList L2) {p=L1; n=0; while(p){n++; p=p->next;} p=L1; for(i=1;i<n/2;i++)p=p->next; L2=p->next; p->next=NULL; return OK; }
L1是不带头结点的单链表。以下算法功能是什么? Status fun(LinkList &L1, LinkList &L2) {p=L1; n=0; while(p){n++; p=p->next;} p=L1; for(i=1;i<n/2;i++)p=p->next; L2=p->next; p->next=NULL; return OK; }
参考答案和解析
A
相关考题:
在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是() A、p=p->nextB、p=p->next->nextC、p->next=pD、p->next=p->next->next
在单链表指针为p的结点之后插入指针为s的结点,正确的操作是()。A.p->next=s;s->next=p->next;B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next;D.p->next=s->next;p->next=s;
在单链表中,指针p指向元素为x的结点,实现删除x节点的后继结点的语句是()。 A、p=p->next;B、p->next=p->next->next;C、p->next=p;D、p->next->next=p->next->next->next;
在一个单链表中,若删除p所指向结点的后续结点,则执行()。 A、p->next=p->next->next;B、p->next=p->next;C、p=p->next;D、p=p->next->next;
在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是()。 A、p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;B、s->prior=p;s->next=p->next;p->next=s;p->next->prior=s;C、p->next=s;p->next->prior=s;s->prior=p;s->next=p->next;D、s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;
p指向线性链表中某一结点,则在线性链表的表尾插入结点s的语句序列是()。A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;
在循环双链表的p结点之后插入s结点的操作是______。A.p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;B.s->next=p; s->next=p->next; p->next=s; p->next->prior=s;C.p->next=s; 3->prior=p; p->next->prior=s; s->next=p->next;D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
在一个双链表中,删除p结点(非尾结点)的操作是()。 A.p->prior->next=p->next;p->next->prior=p->prior;B.p->prior=p->prior->prior;p->prior->prior=p;C.p->next->prior=p;p->next=p->next->next;D.p->next=p->prior->prior;p->prior=p->prior->prior;
函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空includestruc 函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空include <stdio.h>struct node{ int data;struct node *next;};int min(struct node *first)/*指针first为链表头指针*/{ struct node *p; int m;p=first->next; re=p->data; p=p->next;for( ;p!=NULL;p=【 】)if(p->data<m ) re=p->data;return m;}
下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。[试题源程序]include<stdio.h>include<stdlib.h>typedef struct aa{int data;struct aa *next;}NODE;fun(NODE *h){int max=-1;NODE *p;/***********found************/p=h;while(p){if(p->data>max)max=p->data;/************found************/p=h->next;}return max;}outresult(int s, FILE *Pf){fprintf(pf, "\nThe max in link: %d\n", s);}NODE *creatlink(int n, int m){NODE *h, *p, *s, *q;int i, x;h=p=(NODE *)malloc(sizeof(NODE));h->data=9999;for(i=1; i<=n; i++){s=(NODE *)malloc(sizeof(NODE));s->data=rand()%m; s->next=p->next;p->next=s; p=p->next;}p->next=NULL;return h;}outlink(NODE *h, FILE *pf){NODE *p;p=h->next;fprintf(Pf, "\nTHE LIST:\n\n HEAD");while(P){fprintf(pf, "->%d", P->datA); p=p->next;}fprintf(pf, "\n");}main(){NODE *head; int m;head=cteatlink(12,100);outlink(head, stdout);m=fun(head);printf("\nTHE RESULT"\n");outresult(m, stdout);}
若已建立如下图所示的单向链表结构:在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是______。A.p=p->next;s->next=p;p->next=s;B.p=p->next;s->next=p->next;p->next=s;C.s->next=NULL;p=p->next;p->next=S;D.p=(*p).next;(*S).next=(*p).next;(*p).next=s;
若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是 ( )A.s->next=NULL;p=p->next;p->next=s;B.p=p->next;s->next=p->next;p->next=s;C.p=p->next;s-next=p;p->next=s;D.p=(*p).next;(* s).next=(* p).next;(* p).next=s;
int AA(LNode *HL , ElemType x){int n=0; LNode *p=HL;while (p!=NULL){if (p->data= =x) n++;p=p->next; }return n;}对于结点类型为LNode的单链表,以上算法的功能为:()
在一个单链表中,若要删除P结点的后续结点,则应执行()。A.P->next=P->next->nextB.p=P->next;P->next=P->next->nextC.delete(P->next)D.p=P->next->next
设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。A.q=p->next;p->data=q->data;p->next=q->next;free(q);B.q=p->next;p->data=q->data;free(q);C.q=p->next;p->next=q->next;free(q);D.q=p->next;q->data=p->data;p->next=q->next;free(q);
在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行()嗓作。A、p = p->prior;p->prior->next = p->nextB、p->prior->next = p;p->next = p->next->priorC、p->next->prior = p;p->next = p->next->nextD、p->prior->next = p->next;p->next->prior = p->prior
设rear是指向非空带头结点的循环单链表的尾指针,则在起始结点之前插入指针p所指结点的操作可表示为()A、 p->next = rear->next->next; rear->next = pB、 p->next = rear->next; rear->next->next = pC、 p->next = rear->next->next; rear->next->next = pD、 p->next = rear->next->next; rear->next->next = p->next
己知指针p指向单链表中的某结点,则下列各组语句能删除链表中结点的是()A、p=p->nextB、q=p->next;q=q->nextC、p->next = p-next->nextD、q=p->next;p=p->next;q=p->next
已知单链表上一结点的指针为p,则删除该结点后继的正确操作语句是:()A、 s= p->next; p=p->next; free(s);B、 p=p->next; free(p);C、 s= p->next; p->next=s->next; free(s);D、 p=p->next; free(p->next);
已知单链表上一结点的指针为p,则在该结点之后插入新结点*s的正确操作语句为()A、 p->next=s; s->next=p-next;B、 s->next=p->next; p->next=s;C、 p->next=s; p->next=s->next;D、 p->next=s->next; p->next=s;
在双向链表存储结构中,删除p所指的结点时须修改指针()。A、p->next->prior=p->prior; p->prior->next=p->next;B、p->next=p->next->next; p->next->prior=p;C、p->prior->next=p; p->prior=p->prior->prior;D、p->prior=p->next->next; p->next=p->prior->prior;
在一个单链表中,若要删除p指针所指向结点的后继结点,则执行()A、p->next=pB、p=p->next->nextC、p->next=p->next->nextD、p=p->next;p->next=p->next->next
单选题在单链表中,要将s所指结点插入到p所指结点之后,其语句应为()。As->next=p+1; p->next=s;B(*p).next=s; (*s).next=(*p).next;Cs-next=p->next; p->next=s->next;Ds-next=p->next; p->next=s;
单选题在一个单链表中,若要删除p指针所指向结点的后继结点,则执行()Ap->next=pBp=p->next->nextCp->next=p->next->nextDp=p->next;p->next=p->next->next
单选题已知单链表上一结点的指针为p,则删除该结点后继的正确操作语句是:()A s= p->next; p=p->next; free(s);B p=p->next; free(p);C s= p->next; p->next=s->next; free(s);D p=p->next; free(p->next);
单选题已知单链表上一结点的指针为p,则在该结点之后插入新结点*s的正确操作语句为()A p->next=s; s->next=p-next;B s->next=p->next; p->next=s;C p->next=s; p->next=s->next;D p->next=s->next; p->next=s;
单选题在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行()嗓作。Ap = p->prior;p->prior->next = p->nextBp->prior->next = p;p->next = p->next->priorCp->next->prior = p;p->next = p->next->nextDp->prior->next = p->next;p->next->prior = p->prior
单选题己知指针p指向单链表中的某结点,则下列各组语句能删除链表中结点的是()Ap=p->nextBq=p->next;q=q->nextCp->next = p-next->nextDq=p->next;p=p->next;q=p->next