Arraylist 逆置,循环右移,循环左移,arraylist右移
分享于 点击 31881 次 点评:73
Arraylist 逆置,循环右移,循环左移,arraylist右移
package Exercise2;import java.util.ArrayList;
public class exercise2_3_2 {
public ArrayList<Integer> create(){
ArrayList<Integer> arrayList=new ArrayList<>();
for(int i=1;i<=6;i++){
arrayList.add(i);
}
return arrayList;}
/*
* 实现顺序列表的逆置
*/
public ArrayList<Integer> shift(ArrayList<Integer> arrayList){
for(int i=0,j=arrayList.size()-1;i<j;i++,j--){
int temp=arrayList.get(i);
arrayList.set(i,arrayList.get(j));
arrayList.set(j, temp);
}
return arrayList;
}
/*
* 实现顺序列表的循环右移
*/
public ArrayList<Integer> shiftList(ArrayList<Integer> arrayList,int k){
int j;
int temp=0;
for(int i=0;i<k;i++){
temp=arrayList.get(arrayList.size()-1);
for(j=arrayList.size()-2;j>=0;j--){
arrayList.set(j+1, arrayList.get(j));
}
arrayList.set(0, temp);
}
return arrayList;
}
/*
* 实现顺序列表的循环左移
*/
public ArrayList<Integer> leftlList(ArrayList<Integer> arrayList,int k){
int j;
int temp=0;
for(int i=0;i<k;i++){
temp=arrayList.get(0);
for(j=0;j<arrayList.size()-1;j++){
arrayList.set(j, arrayList.get(j+1));
}
arrayList.set(arrayList.size()-1, temp);
}
return arrayList;
}
public void display(ArrayList<Integer> arrayList) {
for(int i=0;i<arrayList.size();i++){
System.out.print(arrayList.get(i)+" ");
}
System.out.println("");
// System.out.print(arrayList.size());
}
public static void main(String[] args) {
// TODO Auto-generated method stub
exercise2_3_2 e=new exercise2_3_2();
e.display(e.create());
System.out.println("就地逆置后的结果");
e.display(e.shift(e.create()));
System.out.println("循环右移后的结果");
e.display(e.shiftList(e.create(), 4));
System.out.println("循环左移后的结果");
e.display(e.leftlList(e.create(), 3));
}
}
1 2 3 4 5 6
就地逆置后的结果
6 5 4 3 2 1
循环右移后的结果
3 4 5 6 1 2
循环左移后的结果
4 5 6 1 2 3
相关文章
- 暂无相关文章
用户点评