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

 

你可能感兴趣的:(数据结构与算法)