• Hark的数据结构与算法练习之奇偶排序


    算法说明

    奇偶排序又叫奇偶换位排序,砖排序。它是一种交换排序,也是冒泡的一个变种

    顾名思义,奇偶排序,其实就是先循环奇数位,然后将奇数位与偶数位比较计算。 然后再循环偶数位,再和奇数位比较运算。看一下代码大家就明白了。

    据wiki所述,这种算法是一种并行算法,个人对这块现在不太理解,没明白这块所谓的并行是什么意思,现在只是完成了一个单机版,将来如果明白了再过来进行补充啦。

    代码

    使用的是java

    package hark.sort.exchangesort;
    
    /*
     * 奇偶排序
     */
    public class OddevenSort {
    	public static void main(String[] args) {
    		int[] arrayData = { 2, 3, 4, 5, 6, 7, 8, 9, 1 };
    		OddevenSortMethod(arrayData);
    		for (int integer : arrayData) {
    			System.out.print(integer);
    			System.out.print(" ");
    		}
    	}
    
    	public static void OddevenSortMethod(int[] arrayData) {
    		int temp;
    		int length = arrayData.length;
    		boolean whetherSorted = true;
    
    		while (whetherSorted) {
    			whetherSorted = false;
    			for (int i = 1; i < length - 1; i++) {
    				if (arrayData[i] > arrayData[i + 1]) {
    					temp = arrayData[i];
    					arrayData[i] = arrayData[i + 1];
    					arrayData[i + 1] = temp;
    					whetherSorted = true;
    				}
    			}
    
    			for (int i = 0; i < length - 1; i++) {
    				if (arrayData[i] > arrayData[i + 1]) {
    					temp = arrayData[i];
    					arrayData[i] = arrayData[i + 1];
    					arrayData[i + 1] = temp;
    					whetherSorted = true;
    				}
    			}
    		}
    	}
    }

    参考

    http://zh.wikipedia.org/wiki/%E5%A5%87%E5%81%B6%E6%8E%92%E5%BA%8F

  • 相关阅读:
    expdp定时备份
    设计模式简介
    利用Python制作万年历
    Linux下Python的安装
    排序算法-直接插入排序
    排序算法-冒泡排序
    数据结构-循环顺序队列&链队列
    数据结构-栈&链栈
    数据结构-双向链表&双向循环链表
    数据结构-单链表&单循环链表
  • 原文地址:https://www.cnblogs.com/hark0623/p/4353172.html
Copyright © 2020-2023  润新知