首先,我不知道标题是否适合我想做的事情。也许它有另一个名字。
所以,假设我的订单如下:
dog1
dog2
dog3
cat1
cat2
cat3
hen1
hen2
hen3
我想要的是
dog1
cat1
hen1
dog2
cat2
hen2
dog3
cat3
hen3
是否有针对此的标准算法,还是用户的选择?我在想的是先将它们编号,然后将索引显示在前面。
11dog1
22dog2
33dog3
14cat1
25cat2
36cat3
17hen1
28hen2
39hen3
从那里我会对它们进行排序然后删除索引。有更优雅的方式吗?
答案 0 :(得分:0)
我的想法是你将每个数组中的每一行分开。
array1 -> dog1, dog2, dog3
array2 -> hen1, hen2, hen3
array3 -> cat1, cat2, cat3
然后创建另一个存储结果的数组,并执行以下操作:
string result[array1.length + array2.length + array3.length];
int counter = 0;
for(int i = 0; i < array1.length; i++) {
result[counter] = array1[i];
result[counter + 1] = array2[i];
result[counter + 2] = array3[i];
counter += 3;
}
答案 1 :(得分:0)
一种方法可能是重载你的“&lt;”运营商这样: dog1&lt; dog2,dog1&lt; cat1 ...
含义AB&lt;仅当(B 其中A是字符部分,B是AB