}
if(i!=j) {
t= L->data[i];
L->data[i]= L->data[j]; L->data[j]=t; } j++;
}
(2010年1月)
3、B 4、C 30、
17、O(n)
(1) Ls 2 3 4 5 1 ^
(2) 将单链表的首结点(第一个结点)移到表尾(作为最后一个结点)。
(2010年10月)
2、C 3、B 17、4/5 30、(1) 0 (2) m+1 (3) k+1 (4) temp (5) m+1
33、(1) 7 (2)输出链表中最后一个(若存在)大于A小于B的元素的值。 (2011年1月)
2、B 17、2 32、输出结果: 34 26 15 89 26 15 34 42 15 26 34 42 34、
float f34(LinkList head) { LinkNode *p=head->next;
int m=0,n=0; while(p!=head) { m++; if(p->data>0) p=p->next; }
42 89 89
n++;
if(m) return (float)n/m;
else return 0; }
时间复杂度O(n)。 (2011年10月)
2、C 3、D 17、直接前驱结点的指针域 30、(1)L=(3, 7,11, 20,51) (2)删除有序表中的相同数据 (2012年1月)
2、D 17、(n-1)/2
32、(1)查找数据域的值为x的结点 (2)连续插入m个新结点 34、
LinkList delnode (LinkList head,DataType x) {
LinkNode *p=head,*r; while(p->next) if(p->next ->data!=x)
p=p->next;
else {
r=p->next;
p->next=r->next; free(r); }
}

