我想用这样的东西制作一个数组:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}
对此:
{6, 5, 4, 3, 2, 1, 0, 13, 12, 11, 10, 9, 8, 7, 20, 19, 18, 17, 16, 15, 14}
但我是如何无能为力。我认为这种方法可以作为我计划的代码的一个很好的替代方案。 (我正在使用Java博士所以没有导入文件BTW)
表示名为integer[]
的整数数组:
(for j = 0; j < 3; j++) {
(for k = 0; k = 6; k++) {
int newj = j+1;
int array = integer[k*newj];
integer [k*newj] = integer[6 - k*newj -1];
integer[6 - k*newj - 1] = array;
}
}
但这不起作用。
有什么建议吗?这不是作业的一部分,但它是考试的一部分,将在一周内完成,我想确定这一点。
答案 0 :(得分:1)
您的阵列中有21个元素。根据您提到的描述,您需要将其分为3个部分。每个部分都有7个元素并反转它们。
对于每个部分,我们可以进行交换数据操作。
注意:数据交换的结束条件为7/2 。它是7个元素的中间索引。
此处还有一件事是确定每个分割部分的起始指数和结束指数是什么。
以下代码符合您的要求。希望这可以帮到你一些。
for (int j = 0; j <3; j++) {
for (int k = 0; k <7/2; k++) {
int newj = j+1;
int array = integer[7*newj-k-1];
integer[7*newj-k-1]= integer [7*j+k];
integer [7*j+k] = array;
}
}