前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >反转排序算法(Reverse Sort)

反转排序算法(Reverse Sort)

作者头像
itlemon
发布2020-04-03 14:55:05
8640
发布2020-04-03 14:55:05
举报
文章被收录于专栏:深入理解Java深入理解Java

【反转排序算法基本思想和案例】

反转排序:

         反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,

         倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。

案例:

         初始数组排序【10    20    30    40    50    60】

         第一趟排序后    60       【20    30    40    50】       10

         第二趟排序后    60    50       【30    40】       20    10

         第三趟排序后    60    50    40    30    20    10

算法主要代码:

代码语言:javascript
复制
// 定义方法实现反转排序
public static void reverseSort(int[] array) {
 for (int i = 0, j = array.length - 1; i < j; i++, j--) {
		array[i] = array[i] ^ array[j];
		array[j] = array[j] ^ array[i];
		array[i] = array[i] ^ array[j];
 }
}

案例:

代码语言:javascript
复制
package com.lemon.demo;
/*
 * 【反转排序算法基本思想和案例】
 * 反转排序:
 * 		反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,
 * 		倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。
 * 案例:
 * 		初始数组排序【10    20    30    40    50    60】
 * 		第一趟排序后    60       【20    30    40    50】       10
 * 		第二趟排序后    60    50       【30    40】       20    10
 * 		第三趟排序后    60    50    40    30    20    10
 */
 
public class ReverseSort {
 public static void main(String[] args) {
 int[] array = {10, 20, 30, 40, 50, 60};
		reverseSort(array);
 for (int i : array) {
 System.out.print(i + "  ");
 }
 }
 
 // 定义方法实现反转排序
 public static void reverseSort(int[] array) {
 for (int i = 0, j = array.length - 1; i < j; i++, j--) {
			array[i] = array[i] ^ array[j];
			array[j] = array[j] ^ array[i];
			array[i] = array[i] ^ array[j];
 }
 }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档