【Java SE】如何用Java实现反转排序

摘要:反转排序是将原先已经排序好了的从新排序,是原来的数组元素的顺序反转过来。假设原来的数组顺序是{6,5,4,3,2,1},反转以后的顺序就是{1,2,3,4,5,6}.这个排序的算法不是很难,代码量也不是不少。算法

  1. 排序原理:将第一个元素与最后一个元素调换位置,第二个元素和倒数第二个元素调换位置,而后依次类推,直到将全部的数组元素都调换位置。反转排序不会按升序或者降序排序。反转排序是对数组两边的元素进行替换,全部只需循环数组长度的半数次数。
  2. 适宜人群:有必定Java SE基础,明白Java的数据类型,数组的定义、初始化以及经常使用数组的方法,还有Java的循环操做。
  3. 前期准备:最好有一个开发工具好比说:eclipse或者myeclipse均可以,固然你使用DOS系统进行编译运行均可以,只不过改bug会麻烦一点。
  4. 反转排序的应用:其实不少排序的算法并不必定都会用到,可是这些算法能锻炼咱们的逻辑思惟能力。这个算法能够运用到咱们的贪吃蛇游戏当中,头部能够当尾部,尾部能够当头部来使用。
  5. 算法实现:下面来介绍一下反转排序的具体用法。
    package liuenci.cn.package_3;
    
    public class ReverseSort {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //建立一个数组
            int[] array={100,90,80,70,60,50,40,30,20,10,0};
            ReverseSort sorter=new ReverseSort();
            //调用反转排序对象的方法将数组反转
            sorter.sort(array);
        }
        public void sort(int[] array){
            System.out.print("数组原来内容:");
            showArray(array);//排序前的数组值
            int temp;
            int len=array.length;
            for(int i=0;i<len/2;i++){
                temp=array[i];
                array[i]=array[len-1-i];
                array[len-1-i]=temp;
            }
            System.out.print("数组反转后内容:");
            showArray(array);
        }
        public void showArray(int[] array){
            for(int i:array){
                System.out.print(" "+i);
            }
            System.out.println();
        }
    }
相关文章
相关标签/搜索