用插入法進行排序

package test;
import java.util.*;
class  InsertSort {
 ArrayList al;  public InsertSort(int num,int mod) {
  al = new ArrayList(num);
  Random rand = new Random();
  System.out.println("The ArrayList Sort Before:");
  for (int i=0;i<num ;i++) {
   al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
   System.out.println("al["+i+"]="+al.get(i));
  }
 }  public void SortIt() {
  Integer tempInt;
  int MaxSize=1;
  for(int i=1;i<al.size();i++) {
   tempInt = (Integer)al.remove(i);
   if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) {
    al.add(MaxSize,tempInt);
    MaxSize++;
    System.out.println(al.toString());
   } else {
    for (int j=0;j<MaxSize ;j++ ) {
     if (((Integer)al.get(j)).intValue()>=tempInt.intValue()) {
      al.add(j,tempInt);
      MaxSize++;
      System.out.println(al.toString());
      break;
     }
    }
   }
  }   System.out.println("The ArrayList Sort After:");
  for(int i=0;i<al.size();i++) {
   System.out.println("al["+i+"]="+al.get(i));
  }
 }  public static void main(String[] args) {
  InsertSort is = new InsertSort(10,100);
  is.SortIt();
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章