数组部分元素反转--三次翻转法

原创 2016年05月30日 10:29:36

题目要求部分反转数组。比如说1,2,3,4,5 翻转后是3,4,5,1,2
即原来有序,反转后2部分各自有序。

package arrayTest;
/**
 * 数组部分反转,使用的是三次反转
 * @author duola
 *
 */
public class reverse {

    //从指定位置开始反转
    private static void reverse(int [] arr,int from,int to) {
            while(from<to){
                int tmp=arr[from];
                arr[from++]=arr[to];
                arr[to--]=tmp;
            }
    }


    public static void main(String [] args) {
        int[] test={1,2,3,4,5};
        reverse(test, 0, 1);
        reverse(test, 2, test.length-1);
        reverse(test, 0, test.length-1);
        for(int i=0;i<test.length;i++){
            System.out.print(test[i]);
        }   
    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JS Array.reverse 将数组元素颠倒顺序

//JS Array.reverse 将数组元素颠倒顺序 //在JavaScript中,Array对象的reverse()方法将颠倒(反转)数组中元素的顺序。arr.reverse()在原数组上实现...

Java实现数组反转翻转的方法

Java实现数组反转翻转的方法     【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/51112971      数组...

翻转数组

翻转数组题目描述 给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1],...

旋转数组

1. 问题描述  从右侧旋转一个n个元素的数组,旋转k位。例如:n=7,k=3n = 7, k=3, arr=[1,2,3,4,5,6,7]arr=[1,2,3,4,5,6,7]旋转成为arr=[5,...

C语言实现快速翻转数组的顺序

#include void Reverse(int *p , int size) { int i , tmp; for(i = 0 ; i < size/2 ; i++) ...

翻转数组

给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列。其中数组片段[l,r]表示序列a[l], a[l+1], …, a[r]。原始数组为 ...

数组应用之最大值查询、排序算法、折半查找法、数组元素反转

一、最大值查询:定义一个函数接收一个int类型的数组对象,找出数组对象中的最大元素返回给调用者。 1、思路: 2、代码实现: 二、排序算法: 1、选择排序(直接排序): a)定义:使用一个元...

数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法

/**  * ObjectTools类,是一个数组操作的工具类  * 里面的方法全静态  * 包括 数组的遍历,获取最大值,数组的反转,数组中元素的查找  * @author ALSTON ...

数组元素反转 奇数下标进行交换

/*(1)键盘录入6个int类型的数据存数数组arr中 (2)将arr数组中的内容反转 (3)将翻转后的数组下标为奇数的互相交换 1和3换, 3和5换,以此类推 (4)最后将数组最后一个角标为奇...

PAT乙级 1008. 数组元素循环右移问题 (20) 数组反转思想

题目链接https://www.patest.cn/contests/pat-b-practise/1008 1008. 数组元素循环右移问题 (20) 时间限制 400...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组部分元素反转--三次翻转法
举报原因:
原因补充:

(最多只允许输入30个字)