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

 

posted @ 2015-03-20 11:24  HarkLee  阅读(300)  评论(0编辑  收藏  举报