反转排序算法(Reverse Sort)

xiaoxiao2021-02-28  143

【反转排序算法基本思想和案例】 反转排序:          反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,          倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。 案例:          初始数组排序【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 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]; }} 案例: 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]; } }}
转载请注明原文地址: https://www.6miu.com/read-30082.html

最新回复(0)