注册 登录
编程论坛 C++教室

C++顺序表问题

lybb123456 发布于 2010-09-11 20:19, 580 次点击
实现将一个顺序表中的元素插入到另一个顺序表中
将顺序表L2插入到顺序表L1中
void InsertRange(SeqList *L1,SeqList *L2,int pos)


我是这样写的
void InsertRange(SeqList *L1,SeqList *L2,int pos)
{int   i;、
if   (L1->size==MaxSepSize)
   SepError(“SepList is full!”);
If (pos<0||pos>L1->size)
   SepError(“Index is out of range!”);
For(i=L1->size-1;i>=pos;i--)
L1-<data[i+1]=L1-<date[i];
L1-<data[pos]=L2;
L1-<size++;
}
我不太懂怎么讲L2插入到L1中,有高人帮忙解释一下嘛。。。先谢谢了
2 回复
#2
hipwang882010-09-12 21:52
其实楼主何以建一个临时表LC,应为LA和LB都是顺序的,那么就可以动态的分别比较LA和LB中表头元素大小,小的插入LC,然后移动下下标,继续重复这个过程,直到一个表插入完后为止,再判断剩下的一个表是否插完,如果未插完就全部插入LC尾部,否则程序结束
#3
laoyang1032010-09-12 22:16
For(j=L2->size-1,i=L1->size-1;i>=pos;i--,j--)  //定义J变量访问L2中的元素
L1-<data[i+1]=L1-<date[i];   //把pos以后的元素全部后移一位
L1-<data[pos]=L2;  //这里应该是L1->data[pos]=L2->data[j],吧L2中的元素按倒序并且始终插入到L1的POs那个位置;
L1-<size++;  //L1的长度+1;
1