当前位置: 首页 > 编程笔记 >

Java程序将数组反转到给定位置

屠德宇
2023-03-14
本文向大家介绍Java程序将数组反转到给定位置,包括了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] + " ");
 类似资料:
  • 本文向大家介绍Java程序以给定大小的组反转数组,包括了Java程序以给定大小的组反转数组的使用技巧和注意事项,需要的朋友参考一下 通过反转所需大小的子数组,可以按给定大小的组反转数组。一个例子如下。 演示此过程的程序如下。 示例 输出结果 现在让我们了解上面的程序。 首先打印原始数组。然后,使用for循环将给定大小(即4)的组反转为数组。演示此操作的代码段如下所示。 然后显示修改后的数组。演示此

  • a)制定方法体系 void rightRotate (char [] arr, int n) 方法将给定的字符数组向右旋转n个位置。 例如,如果 arr = {'a', 'b', 'c', 'd', 'e' }, 和 n=2,则结果应为 arr={'d', 'e', 'a', 'b', 'c'} b)开发方法主体 void leftRotate (char [] arr, int n) 该方法将给

  • 本文向大家介绍程序在C ++中有效地将数字的位反转,包括了程序在C ++中有效地将数字的位反转的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论一个有效地反转数字位的程序。 为此,我们将给出一个非负数。我们的任务是将数字转换为二进制格式,将数字的二进制位反转。然后最后打印该数字的十进制等效值。 示例 输出结果

  • 问题内容: 当我对字节的调用全部为0 后查看缓冲区时,从相机返回的位图是不可变的……但这无关紧要,因为它正在执行复制操作。 此代码可能有什么问题? 问题答案: 尝试这样:

  • 问题 你想要反转数组元素。 解决方案 使用 JavaScript Array 的 reverse() 方法: ["one", "two", "three"].reverse() # => ["three", "two", "one"] 讨论 reverse() 是标准的 JavaScript 方法,别忘了带圆括号。

  • 问题内容: 我还没有找到满足我的功能特定需求的任何东西,是的,这是用于家庭作业。 所以我有: 前提条件:x.length> 0 我不能让函数返回任何东西,而唯一的参数是数组这一事实使我感到困惑。 我已经尝试过将循环与递归一起使用,但是我尝试过的一切似乎都以生成函数的无限实例结束。 我已经有了一个想法/建议与该函数一起使用另一个函数,但是,当前如何递归地使用原始函数超出了我的范围。 任何帮助表示赞赏