数组循环移位


package alogrithm;

public class RightShift {

	
	
	
	public static void reverse(int[] num,int begin,int end)
	{
		for(;begin<end;begin++,end--)
		{
			int temp = num[begin];
			num[begin] = num[end];
			num[end] = temp;
		}
	}
	
	public static void rightShift(int []num,int n,int k)
	{
		k %= n;
		reverse(num, 0, n-k-1);
		reverse(num, n-k, n-1);
		reverse(num, 0, n-1);
	}
	public static void main(String[] args)
	{
		int num[]  = new int[]{1,2,3,4,6,7,8,9};
		rightShift(num,8,4);
		
		
		for(int i:num)
		{
			System.out.print(i+"  ");
		}
	}
}



你可能感兴趣的:(数组)