java 鸡尾酒排序

java常用的排序算法,鸡尾酒排序就像钟摆一样,第一轮从左往右,第二轮从右往左,第三轮从左往右。。。。直到元素没有位置交换的时候,说明已经有序,停止交换。是冒泡算法的升级版

package shujujiegou;

import java.util.Arrays;

/**
 * 鸡尾酒排序就像钟摆一样,第一轮从左往右第二轮从右往左,第三轮从左往右。。。。
 * 直到元素没有位置的交换证明已经有序,排序结束
 * @author TomCat
 *
 */
public class CockTailSort {
	public static void sort(int[] array) {
		int temp=0;
		for(int i=0;iarray[j+1]) {
					temp=array[j];
					array[j]=array[j+1];
					array[j+1]=temp;
					isSorted=false;//有元素的交换,所以不是有序的,标记置为false
				}
				
			}
			if(isSorted) {
				break;
			}
			//开始偶数论的比较
			isSorted=true;
			for(int j=array.length-i-1;j>i;j--) {
				if(array[j]array[j+1]) {
					temp=array[j];
					array[j+1]=array[j];
					array[j]=temp;
					isSorted=false;
					lastRightExchange=j;
				}
				
			}
			rightSortBorder=lastRightExchange;
			if(isSorted) {
				break;
			}
			isSorted=true;
			for(int j=rightSortBorder;j>leftSortBorder;j--) {
				if(array[j]

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