您的位置:首页 > 编程语言 > Java开发

java核心技术之反转排序算法

2016-11-23 21:36 337 查看


基本思想

反转排序,就是以相反的顺序把原来的数组的内容重新排序。比较简单,也是经常用到的。

算法示例

反转排序是对数组两边的元素进行替换,所以只需要循环数组长度的一半。如数组为【1,2,3,4,5,6,7】。

第一趟排序后:7,【2,3,4,5,6】,1。

第二趟排序后:7,6,【3,4,5】,2,1。

第三趟排序后:7,6,5,【4】,3,2,1。

实现代码:

ReverseSort.java

public class ReverseSort {
//反转排序算法的实现
public static int[] run(int[] array) {
int temp;
for (int i = 0; i < array.length/2; i++) {
temp = array[i];
array[i] = array[array.length-1-i];
array[array.length-1-i] = temp;
}
return array;
}

}


public class clent {

public static void main(String[] args) {
// TODO Auto-generated method stub
//int[] array ={1,2,3,4,5,6};
int[] array ={1,2,3,4,5,6,7};
System.out.print("排序前的数组为:\n");
printInfo(array);
//反转排序
array = ReverseSort.run(array);

System.out.print("排序后的数组为:\n");
printInfo(array);
}

private static void printInfo(int[] array) {
// TODO Auto-generated method stub
for(int k=0;k<array.length;k++){
System.out.print(" "+array[k]);
}
System.out.print("\n");
}

}


程序结果:

排序前的数组为:
1 2 3 4 5 6 7
排序后的数组为:
7 6 5 4 3 2 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 排序算法