📄 emp2_04.cpp
字号:
#include"seqlists.h"
void UnionSet(SeqList& A,SeqList& B,SeqList& C)
{ int ia,ib,ic,AorB;
ia=1; ib=1; ic=1;
while ( (ia<=A.Last)&&(ib<=B.Last) )
{
cur_SeqList_elmn_onoff(A,ia);
cur_SeqList_elmn_onoff(B,ib);
if (A.data[ia]==B.data[ib] )
{ C.data[ic]=B.data[ib]; ia=ia+1; ib=ib+1; AorB=3 ;}
else if (A.data[ia]>B.data[ib])
{ C.data[ic]=B.data[ib]; ib=ib+1; AorB=2;}
else { C.data[ic]=A.data[ia]; ia=ia+1; AorB=1;}
display_SeqList_elmn(C,ic);
cur_SeqList_elmn_onoff(C,ic); Wait();
cur_SeqList_elmn_onoff(A,ia-int(AorB==1||AorB==3) );
cur_SeqList_elmn_onoff(B,ib-int(AorB==2||AorB==3) );
cur_SeqList_elmn_onoff(C,ic); Wait();
ic=ic+1;
}
while (ia<=A.Last)
{ cur_SeqList_elmn_onoff(A,ia);
C.data[ic]=A.data[ia];
display_SeqList_elmn(C,ic);
cur_SeqList_elmn_onoff(C,ic);
Wait();
cur_SeqList_elmn_onoff(A,ia);
cur_SeqList_elmn_onoff(C,ic);
Wait();
ia=ia+1; ic=ic+1;
}
while (ib<=B.Last)
{ cur_SeqList_elmn_onoff(B,ib);
C.data[ic]=B.data[ib];
display_SeqList_elmn(C,ic);
cur_SeqList_elmn_onoff(C,ic);
Wait();
cur_SeqList_elmn_onoff(B,ib);
cur_SeqList_elmn_onoff(C,ic);
Wait();
ib=ib+1; ic=ic+1;
}
C.Last=ic-1;
display_SeqList_Last(C);
getch();
}
main()
{
const int n=15;
SeqList A,B,C;
set_SeqList_dir(A,"A",horizon,1,1,n);
set_SeqList_dir(B,"B",horizon,1,1,n);
set_SeqList_dir(C,"C",horizon,1,1,n);
for (int i=1;i<=10;i++)
A.data[i]=i;
A.Last=10;
for (i=1;i<=10;i++)
B.data[i]=2*i;
B.Last=10;
move_SeqList_to(A,50,80);
move_SeqList_to(B,50,200);
move_SeqList_to(C,50,320);
UnionSet(A,B,C);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -