链表的的这个算法是怎么运行的,请高手们帮帮忙?
子冲 2008-03-23 08:18:19 sqlist merge(sqlist A,sqlist B,sqlist *c) //把A,B表放入表中并保持有序
{
int i,j,k;
i=0;j=0;k=0; //记数
while ( i <A.length &&j <B.length) //
if (A.elem[i] <B.elem[j])
c->elem[k++] = A.elem[i++];
else
c->elem[k++] = B.elem[j++]; //用j记录B表
while (i <A.length) //last
c->elem[k++] = A.elem[i++];
while (j <B.length)
c->elem[k++]=B.elem[j++];
c->last=k-1;
return *c;
}
我看不太懂这个算法是怎么实行的,请大家帮我解释一下吧,谢谢!