若某线性表最常用的运算是在尾元素之后插入元素和删除尾元素,则以下( )存储方式,最节省运算时间。
A. 非循环单链表
B. 循环单链表
C. 非循环双链表
D. 循环单链表或循环双链表
查看答案
对以下代码的功能,描述最为正确的是()void Insert(SqList *&L,ElemType x){ int i=0,j;while (ilength && L->data[i]length-1;j>=i;j--)L->data[j+1]=L->data[j];L->data[i]=x;L->length++;}
A. 若顺序为空表,则插入元素x;否则把x插入到顺序表中第一个大于或等于x的元素的前面
B. 若顺序为空表,则插入元素x;否则把x插入到顺序表中第一个大于或等于x的元素的后面
C. 若顺序为空表,则插入元素x;否则把x插入到顺序表中第一个小于或等于x的元素的前面
D. 若顺序为空表,则插入元素x;否则把x插入到顺序表中第一个小于或等于x的元素的后面
将两个长度为n、m的递增有序表归并成一个有序顺序表,其最少的比较次数是()。
A. MIN(m, n)
B. MAX(m, n)
C. n
D. m
E. m+n
在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是( )。
A. s->next=p->next;s->prior=p;p->next->prior=s; p->next=s;
B. s->prior=p; s->next=p->next;if(p->next!=NULL)p->next->prior=s; p->next=s;
C. p->next=s;p->next->prior=s;s->prior=p; s->next=p->next;
D. p->next=s;if(p->next!=NULL)p->next->prior=s;s->prior=p; s->next=p->next;
对以下代码的功能描述最准确的是()LinkList *Demo(LinkList *L)// L是无头结点的单链表{LinkList *q,*p;if(L!=NULL&&L->next!=NULL){q=L;L=L->next;p=L;while (p->next)p=p->next;p->next=q; q->next=NULL;}return (L);}
A. 逆置线性表
B. 当表不空时,删除线性表的首个元素
C. 插入一个新的元素在表尾
D. 当表不空时,把原表的表首元素取下,并插入到表尾。