奇偶排序(Parity Sort)
参考地址(https://blog.csdn.net/lemon_tree12138/article/details/50605563?spm=1001.2014.3001.5501)
代码结构
源码
前置条件:父接口和测试类从上篇文章获取(https://blog.csdn.net/jt781861965/article/details/117051443)
package suanfa.paixu;
public class JiOuTest implements Sort {
public static void main(String[] args) {
Test.test(new JiOuTest());
}
public void sort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
int length = arr.length;
boolean oddSorted = false;
boolean evenSorted = false;
while (!oddSorted || !evenSorted) {
oddSorted = true;
evenSorted = true;
for (int i = 0; i < length - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
oddSorted = false;
}
}
for (int i = 1; i < length - 1; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
evenSorted = false;
}
}
}
}
}