概述
Java实现右旋转数组元素
1 说明
在此程序中,我们需要将数组的元素向右旋转指定的次数。如果将数组的所有元素向右移动一个位置,则称该数组为右旋转。一种方法是通过将数组的每个元素移至其下一个位置来遍历数组。数组的最后一个元素将成为旋转数组的第一个元素。
考虑上面的数组,如果n为1,则该数组的所有元素将向右移一个位置,即该数组的第一个元素将占据第二个位置,第二个元素将移至第三个位置,很快。数组的最后一个元素将成为数组的第一个元素。
2 算法思路
步骤1:开始
步骤2:初始化arr [] = {1、2、3、4、5}。
步骤3: SET n = 3
步骤4:打印「Original Array」
步骤5:重复步骤6直到i
// for(i = 0; i
步骤6:列印arr [i]
步骤7:将步骤8重复到步骤12直到i
// for(i = 0; i
步骤8:定义j,最后。
步骤9: last = arr [arr.length-1]
步骤10:重复步骤11直到j> 0
// for(j = arr.length-1; j> 0; j--)
步骤11: arr [j] = arr [j-1]
步骤12: arr [0] =最后
步骤13:打印“Array after right rotation”
步骤14:重复步骤15直到i
// for(i = 0; i
第15步:打印arr [i]
步骤16:结束
3 程序实现
/**
* 一点教程网: http://www.yiidian.com
*/
class RotateRight {
public static void main(String[] args) {
//Initialize array
int [] arr = new int [] {1, 2, 3, 4, 5};
//n determine the number of times an array should be rotated.
int n = 3;
//Displays original array
System.out.println("Original array: ");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
//Rotate the given array by n times toward right
for(int i = 0; i < n; i++){
int j, last;
//Stores the last element of array
last = arr[arr.length-1];
for(j = arr.length-1; j > 0; j--){
//Shift element of array by one
arr[j] = arr[j-1];
}
//Last element of array will be added to the start of array.
arr[0] = last;
}
System.out.println();
//Displays resulting array after rotation
System.out.println("Array after right rotation: ");
for(int i = 0; i< arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
以上代码输出结果为:
Original Array:
1 2 3 4 5
Array after right rotation:
3 4 5 1 2
最后
以上就是呆萌身影为你收集整理的java数组元素旋转,Java实现右旋转数组元素的全部内容,希望文章能够帮你解决java数组元素旋转,Java实现右旋转数组元素所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复