如何以不同的方式将数组复制到另一个数组 - Pascal
How to copy on array to another array in different ways - Pascal
我正在用 array.The 解决 3 个问题,其中两个我已经解决了,还有 2 个问题。
如果前两个代码不错,第三个问题如何解决。
好吧,第三题就是把一个数组复制到另一个数组,这样:arrayA=[1,2,3],那么arrayB就是[1,2,3,3,2,1]。
先从头到尾再从尾到start.First问题是把arrayA复制到arrayB这样:arrayA=[1,2,3],arrayB=[1,1,2, 2,3,3]。
我只会 post 我的伪代码。
while i<length(a) do begin
b[j]=a[i];
j+=1;
if (j+1) MOD 2 =0 then i+=1;
end;
另一个是将arrayA复制到arrayB twice.arrayA=[1,2,3], arrayB=[1,2,3,1,2,3]。这里我使用了for循环:
for i=1 to length(a) do arrayB[i]=arrayA[i];
for i=length(a)+1 to 2*length(a) do arrayB[i]=arrayA[i-length(a)]
如果计数已预定义,请避免 while
个循环。
利用简单的索引算法(我假设所有数组都是基于 1 的):
//112233
for i := 1 to length(a) do begin
b[2 * i - 1] := a[i];
b[2 * i] := a[i];
end;
//123123
l := length(a);
for i := 1 to length(a) do begin
b[i] := a[i];
b[i + l] := a[i];
end;
//123321
l := length(a);
for i := 1 to length(a) do begin
b[i] := a[i];
b[2*l - i + 1] := a[i];
end;
我正在用 array.The 解决 3 个问题,其中两个我已经解决了,还有 2 个问题。
如果前两个代码不错,第三个问题如何解决。
好吧,第三题就是把一个数组复制到另一个数组,这样:arrayA=[1,2,3],那么arrayB就是[1,2,3,3,2,1]。
先从头到尾再从尾到start.First问题是把arrayA复制到arrayB这样:arrayA=[1,2,3],arrayB=[1,1,2, 2,3,3]。 我只会 post 我的伪代码。
while i<length(a) do begin
b[j]=a[i];
j+=1;
if (j+1) MOD 2 =0 then i+=1;
end;
另一个是将arrayA复制到arrayB twice.arrayA=[1,2,3], arrayB=[1,2,3,1,2,3]。这里我使用了for循环:
for i=1 to length(a) do arrayB[i]=arrayA[i];
for i=length(a)+1 to 2*length(a) do arrayB[i]=arrayA[i-length(a)]
如果计数已预定义,请避免 while
个循环。
利用简单的索引算法(我假设所有数组都是基于 1 的):
//112233
for i := 1 to length(a) do begin
b[2 * i - 1] := a[i];
b[2 * i] := a[i];
end;
//123123
l := length(a);
for i := 1 to length(a) do begin
b[i] := a[i];
b[i + l] := a[i];
end;
//123321
l := length(a);
for i := 1 to length(a) do begin
b[i] := a[i];
b[2*l - i + 1] := a[i];
end;