算法 第四版 动画 2.1.17

来源:互联网 发布:本田凌派maf标准数据 编辑:程序博客网 时间:2024/06/04 20:41
package Cap2_1;import edu.princeton.cs.introcs.StdArrayIO;import edu.princeton.cs.introcs.StdDraw;import edu.princeton.cs.introcs.StdRandom;import edu.princeton.cs.introcs.StdStats;public class Selection extends sortTemplate{public static void sort(Comparable[] a){int N = a.length;for(int i=0; i<N; i++){int min=i;for(int j=i+1; j<N;j++)if(less(a[j], a[min])) min = j;exch(a, i, min);}}public static void exch(Comparable[] a, int i, int j){Comparable t = a[i];a[i] = a[j];a[j] = t;drawSort(a);StdDraw.pause(100);StdDraw.clear();}public static void drawSort(Comparable[] a){StdDraw.setXscale(-1, a.length+1);Comparable max=a[0];for(int i=1;i<a.length;i++) if(less(max, a[i])) max = a[i];StdDraw.setYscale(-2, (Integer)max+1);for(int i=0;i<a.length;i++){int y = (Integer)a[i];StdDraw.filledRectangle(i+0.5, y/2.0, 0.3, y/2.0);}}public static void main(String[] args) {// TODO Auto-generated method stubint N=100;Integer[] a = new Integer[N];for(int i=0;i<N;i++)a[i]=i;StdRandom.shuffle(a);sort(a);}}

原创粉丝点击