阅读下列算法,并补充所缺语句voidpurge_nextst( ListL ){//从表头指针为 la 的带表头结点的有序链表中删除所有值相同的多余元素并释放被删结点空间。link p,q,t;ListItem temp;p= L->first->next;while(p != 0 ){q = p;temp = p->data;p=p->next;while( p != 0 &&(1) ){t=p;p=p->next;free(t);}(2);}}
查看答案
这是一个统计单链表中结点的值等于给定值x的结点数的算法,请指出其中的错误,并改正,要求不增加新语句。intcount (ListNode * Ha, ElemType x )①{// Ha为不带表头结点的单链表的表头指针intn = 0;②while( Ha->next != 0 )③{Ha = Ha->next;④if( Ha->data == x )⑤n++;}returnn;⑥}
对于线性表的两种存储结构,如果有n个线性表同时并存,并且在处理过程中各表的长度会发生动态变化,线性表的总数也会自行改变,在此情况下,应选用哪一种存储结构?为什么?
在一个长度为n的顺序表中向第i个(1≤i≤n)位置插入一个新元素时,需要从后向前依次后移个元素。
A. n-i
B. n-i+1
C. n-i-1
D. i