设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列()操作。
A.s->next=p->next;p->next=s;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
第1题:
1、设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。
A.q=p->next;p->next=q->next;free(q);
B.q=p->next; p->next=q->next;
C.p->next=p-> next->next;
D.q=p->next;p->data=q->data;free(q);
第2题:
设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。
A.q=p->next;p->next=q->next;free(q);
B.q=p->next; p->next=q->next;
C.p->next=p-> next->next;
D.q=p->next;p->data=q->data;free(q);
第3题:
设单链表中结点的结构为(data, next)。已知指针q所指点是指针p所指结点的直接前驱,若在q与p之间插入结点s,则应执行下列()操作。
A.s->next=p->next; p->next=s
B.q->next=s; s->next=p
C.p->next=s->next; s->next=p
D.p->next=s; s->next=q
第4题:
设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。
A.q=p->next;p->next=q->next;free(q);
B.q=p->next; p->next=q->next;
C.p->next=p-> next->next;
D.q=p->next;p->data=q->data;free(q);
第5题:
假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。 StatusListDelete_CL(LinkList &S) { LinkList p,q; if(S==S->next)return ERROR; q=S; p=S->next; while(){ q=p; p=p->next; } q->next=p->next; free(p); return OK; }
A.p->next!=S
B.p->next==S
C.p!=S
D.p==S