对单链表中元素按插入方法排序的C语言描述算法如下,其中L为链表头结点指针。请填充算法中标出的空白处,完成其功能。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<=p->data) {r=q; q=q->next;} u=p->next; ( 4 ) ; ( 5 ) ; p=u;
在循环双链表的p所指的结点之前插入s所指结点的操作是( )。
A. p->prior = s ;s->next = p ;p->prior->next = s ;s->prior = p->prior
B. p->prior = s ;p->prior->next = s ;s->next = p ;s->prior = p->prio
C. s->next = p ;s->prior = p->prior ;p->prior = s ;p->prior->next = s
D. s->next = p ;s->prior = p->prior ;p->prior->next = s ;p->prior = s
在双向链表存储结构中有两个指针域,link和rlink分别指向前趋及后继,删除p所指的结点时须修改指针( )。
A. (p->llink)->rlink=p->rlink;(p->rlink)->llink=p->llink;
B. p->llink=(->llink)->llink; (p->llink)->rlink=p;
C. (p->rlink)->llink=p;p->rlink=(p->rlink)->rlink
D. p->rlink=(p->llink)->llink;p->llink=(p->rlink)->rlink;
在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面: p->next = s; s->next = p->next
A. 对
B. 错