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