旋转列表元素的 Java 程序
列表是可以存储重复值的有序对象集合。因为列表保留了插入顺序,所以它允许元素的位置访问和插入。在本文中,我们将看到如何旋转列表的元素。让我们考虑以下列表。
旋转前的原始列表
列表中有两种类型的循环。它们是右旋转和左旋转。四次向右旋转后,列表如下所示:
旋转四个位置后的列表
方法 1:(不使用内置方法)
向右旋转工作
- 首先将列表的最后一个元素存储在一个临时变量中。
- 将元素向右移动一个位置。
- 现在用 temp 变量中的值更改列表的第一个元素值。
- 将临时变量的值更新为新的最后一个元素。
- 重复上述步骤需要一定的旋转次数。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to Rotate Elements of the List
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
// creating ArrayList
List<Integer> my_list = new ArrayList<>();
my_list.add(10);
my_list.add(20);
my_list.add(30);
my_list.add(40);
my_list.add(50);
my_list.add(60);
my_list.add(70);
// Printing list before rotation
System.out.println(
"List Before Rotation : "
+ Arrays.toString(my_list.toArray()));
// Loop according to the number of rotations
for (int i = 0; i < 4; i++) {
// storing the last element in the list
int temp = my_list.get(6);
// traverse the list and move elements to right
for (int j = 6; j > 0; j--) {
my_list.set(j, my_list.get(j - 1));
}
my_list.set(0, temp);
}
// Printing list after rotation
System.out.println(
"List After Rotation : "
+ Arrays.toString(my_list.toArray()));
}
}
Output
List Before Rotation : [10, 20, 30, 40, 50, 60, 70]
List After Rotation : [40, 50, 60, 70, 10, 20, 30]
四次向左旋转后,列表如下所示:
旋转四个位置后的列表
向左旋转工作
- 首先将列表的第一个元素存储在一个临时变量中。
- 将元素向左移动一个位置。
- 现在用 temp 变量中的值更改列表的最后一个元素值。
- 将临时变量的值更新为新的第一个元素。
- 重复上述步骤需要一定的旋转次数。
例
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to Rotate Elements of the List
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
// creating array list
List<Integer> my_list = new ArrayList<>();
my_list.add(10);
my_list.add(20);
my_list.add(30);
my_list.add(40);
my_list.add(50);
my_list.add(60);
my_list.add(70);
// Printing list before rotation
System.out.println(
"List Before Rotation : "
+ Arrays.toString(my_list.toArray()));
// Loop according to the number of rotations
for (int i = 0; i < 4; i++) {
// storing the first element in the list
int temp = my_list.get(0);
// traverse the list and move elements to left
for (int j = 0; j < 6; j++) {
my_list.set(j, my_list.get(j + 1));
}
my_list.set(6, temp);
}
// Printing list after rotation
System.out.println(
"List After Rotation : "
+ Arrays.toString(my_list.toArray()));
}
}
Output
List Before Rotation : [10, 20, 30, 40, 50, 60, 70]
List After Rotation : [50, 60, 70, 10, 20, 30, 40]
版权属于:月萌API www.moonapi.com,转载请注明出处