flexsorter.java

来自「点菜系统」· Java 代码 · 共 36 行

JAVA
36
字号
package chapter1;
public class FlexSorter
{
	public static void sort(Object[] A, Comparable comp)
	{
		sort (A, A.length, comp);
	}
	
	//选择排序算法
	public static void sort(Object[] A, int stop, Comparable comp)
	{
		for (int i = 0; i < stop; i++)
		swap(A, i, findMin(A, i, stop, comp));
	}
	
	//返回A[start],A[start+1],...,A[stop-1]中最小元素的序号
	private static int findMin(Object[] A, int start, int stop, Comparable comp)
	{
		int min = start;
		for (int i = start+1; i < stop; i++)
		{
			if (comp.compare(A[i], A[min])< 0)
			min=i;
		}
		return min;
	}
	
	//交换A[pos1]with A[pos2]
	private static void swap(Object[]A,int pos1,int pos2)
	{
		Object temp=A[pos1];
		A[pos1]=A[pos2];
		A[pos2]=temp;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?