【反转排序算法基本思想和案例】
反转排序:
反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,
倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。
案例:
初始数组排序【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