关于《Algorithms 4》
資深大佬 : zhuyongqi9 1
今天拜读了算法红宝书,感觉这样的一个排序的模版让我想,一辈子都想不出来,功能都能实现,但是写不出这样的方法
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 t=a[i];a[i]=a[j];a[j]=t; } private static void show(Comparable[] a){ for (int i = 0; i < a.length; i++) StdOut.print(a[i]+" "); StdOut.println(); } public static boolean isSorted(Comparable[] a){//检查数组是否有序 for(int i=1;i<a.length;i++) if(less(a[i],a[i-1])) return false; return true; } public static void main(String args[]){ String[] a= StdIn.readAllStrings(); sort(a); assert isSorted(a);//若数组被成功排序,则继续执行 show(a); } }
大佬有話說 (7)