可能重复:
数组元素的重新排序
面试测试 - 重新排列数组
我有一个数组,其中三个语义元素(a,b,c)以以下形式存储:
[a][b][c][a][b][c][a][b][c]...
这意味着 ab 和 c 不是实际值。第一个 a 可能是 10,第二个是 1,第三个是 25,依此类推。ab 和 c 表示程序将为您看到“a”的所有索引赋予特定的语义含义,b 和 c 也是如此。
我想重新排序,使其具有以下形式:
[a][a][a]...[b][b][b]...[c][c][c]....
有没有办法“就地”执行此操作,即不使用临时“缓冲区”数组?
带有值的示例:
起始数组:
[11][5][3][284][123123][841823][0][11][22]
我需要将其重新排序为:
[11][284][0][5][123123][11][3][841823][22]