简单选择排序:
每一趟在整个记录中找到最小的那个作为有序序列的第i个记录。
class SelectSort{ public void p(int[] a){ for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } System.out.println(); } public void select(int[] a){ int m=a.length; for(int i=0;i<m;i++){ int min=a[i]; int n=i; for(int j=i+1;j<m;j++){ if(min>a[j]){ min=a[j]; //min 保持为最小的一个 n=j; } } a[n] = a[i]; //在查找前的i的位置插入被替换的数 a[i] =min; //插入本次查找最小的数的位置 p(a); } } public static void main(String args[]){ int[] a ={49,38,65,97,76,13,27,49,55,04}; SelectSort s = new SelectSort(); s.select(a); s.p(a); } }
时间: 2024-10-19 19:38:21