当前位置:  开发笔记 > 编程语言 > 正文

通过交替元素混合两个数组(拉链样式)

如何解决《通过交替元素混合两个数组(拉链样式)》经验,为你挑选了1个好方法。

什么是优雅的算法来混合两个数组(可能有不同大小)的元素,以便从每个数组以交替的方式绘制项目,剩余的添加到结尾?

例如

阵列1-A,B,C,D,E,F,G

阵列2 - 1,2,3,4

混合阵列 - A,1,B,2,C,3,D,4,E,F,G

我更喜欢C#中的解决方案,但我应该能够以任何语言(甚至某种形式的伪代码)读取和转置解决方案.

不要担心空检查或任何其他边缘情况,我会处理这些.



1> Ryan Graham..:

你的意思是什么?

// naive/boring approach
int i = 0;
int m = 0;
while (i < a1.size() || i < a2.size()) {
    if (i < a1.size())
        mixed[m++] = a1[i];
    if (i < a2.size())
        mixed[m++] = a2[i];
    i++;
}

如果使用它,您可能希望将数组长度存储在变量中,这样您就不必继续调用size()方法(或者使用您使用的任何语言).

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有