Java程序将数组反转到给定位置
数组可以反转到给定位置pos,其余数组不变。一个例子如下:
Array = 1 2 3 4 5 6 7 8 9 10 Position = 6 Modified array = 6 5 4 3 2 1 7 8 9 10
演示此的程序如下所示-
示例
public class Example {
public static void main(String args[]) {
int[] arr = {1, 2, 3, 4, 5, 6, 7 ,8 ,9, 10};
int n = arr.length;
int pos = 6;
int temp;
if (pos > n) {
System.out.println( "Invalid...pos cannot be greater than n");
return;
}
System.out.print( "Initial array is: ");
for (int i = 0; i < n; ++i)
System.out.print(arr[i] + " ");
for (int i = 0; i < pos / 2; i++) {
temp = arr[i];
arr[i] = arr[pos - i - 1];
arr[pos - i - 1] = temp;
}
System.out.print( "\nModified array is: ");
for (int i = 0; i < n; ++i)
System.out.print(arr[i] + " ");
}
}输出结果
Initial array is: 1 2 3 4 5 6 7 8 9 10 Modified array is: 6 5 4 3 2 1 7 8 9 10
现在让我们了解上面的程序。
如果位置大于数组的长度,则这是一个错误并被打印。否则,首先打印原始数组。证明这一点的代码片段如下所示-
if (pos > n) {
System.out.println( "Invalid...pos cannot be greater than n");
return;
}
System.out.print( "Initial array is: ");
for (int i = 0; i < n; ++i)
System.out.print(arr[i] + " ");现在,使用for循环将数组反转到pos。然后显示修改后的数组。证明这一点的代码片段如下所示-
for (int i = 0; i < pos / 2; i++) {
temp = arr[i];
arr[i] = arr[pos - i - 1];
arr[pos - i - 1] = temp;
}
System.out.print( "\nModified array is: ");
for (int i = 0; i < n; ++i)
System.out.print(arr[i] + " ");热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西