public class Example
{
public static void sort(Comparable[] a) {
}
private static boolean less(Comparable v,comparable w)
{ return v.compareTo(w)<0; }
private static void exch(Comparable[] a,int i,int j)
{ Comparable tComparable=a[i];a[i]=a[j];a[j]=t; }
private static void show(Comparable[] a) {
for (int i = 0; i < a.length; i++) {
StdOut.println();
}
private static boolean isSorted(Comparable[] a) {
for (int i = 1; i < a.length; i++) {
if (less(a[i],a[i-1])) return false;
return true;
}
private static void main(String[] args) {
String[] a =In.readStrings();
sort(a);
assert isSorted(a);
show;
}
}
后续代码会调用模板
排序算法可以分为两类:除了函数调用所需的栈和固定数目的实例变量之外无需额外内存的原地排序算法,以及需要额外内存空间来储存另一份数组的其他排序算法。