您的位置:首页 > 理论基础 > 数据结构算法

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

2015-03-20 11:24 239 查看
算法说明

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

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

据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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: