码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-03-20 12:47:48      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

算法说明

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

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

据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

 

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

标签:

原文地址:http://www.cnblogs.com/hark0623/p/4353172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!