反转排序算法(Reverse Sort)

【反转排序算法基本思想和案例】
反转排序:
         反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,
         倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。
案例:
         初始数组排序【10    20    30    40    50    60】
         第一趟排序后    60       【20    30    40    50】       10
         第二趟排序后    60    50       【30    40】       20    10
         第三趟排序后    60    50    40    30    20    10
算法主要代码:
   
   
  1. // 定义方法实现反转排序
  2. public static void reverseSort(int[] array) {
  3. for (int i = 0, j = array.length - 1; i < j; i++, j--) {
  4. array[i] = array[i] ^ array[j];
  5. array[j] = array[j] ^ array[i];
  6. array[i] = array[i] ^ array[j];
  7. }
  8. }
案例:
   
   
  1. package com.lemon.demo;
  2. /*
  3. * 【反转排序算法基本思想和案例】
  4. * 反转排序:
  5. * 反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组最后一个元素和第一个元素替换,
  6. * 倒数第二个元素与第二个元素替换,直到把所有数组元素反转替换。
  7. * 案例:
  8. * 初始数组排序【10 20 30 40 50 60】
  9. * 第一趟排序后 60 【20 30 40 50】 10
  10. * 第二趟排序后 60 50 【30 40】 20 10
  11. * 第三趟排序后 60 50 40 30 20 10
  12. */
  13. public class ReverseSort {
  14. public static void main(String[] args) {
  15. int[] array = {10, 20, 30, 40, 50, 60};
  16. reverseSort(array);
  17. for (int i : array) {
  18. System.out.print(i + " ");
  19. }
  20. }
  21. // 定义方法实现反转排序
  22. public static void reverseSort(int[] array) {
  23. for (int i = 0, j = array.length - 1; i < j; i++, j--) {
  24. array[i] = array[i] ^ array[j];
  25. array[j] = array[j] ^ array[i];
  26. array[i] = array[i] ^ array[j];
  27. }
  28. }
  29. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值