选择排序

来源:互联网 发布:java linkedlist get 编辑:程序博客网 时间:2024/04/29 06:18

class Array {
 private long[] a;
 private int nElems;
 public Array(int num){
  a = new long[num];
  nElems = 0;
 }
 public void insert(long item){
  a[nElems] = item;
  nElems ++;
 }
 public  long getElem(int index){
  return a[index];
 }
 public void setElem(int index,long value){
 
 }
 public void swap(int first,int second){
  long temp;
  temp = a[first];
  a[first] = a[second];
  a[second] = temp;
  
 }
 public void SelectSort(){
  int outer;
  int inner;
  int min;

  for(outer = 0;outer<nElems-1;outer++){
   min = outer;
    for(inner=outer + 1;inner<nElems;inner++){
    if (a[min]>a[inner]){ min=inner;}  
 swap(outer,min);
        
   }
  }
}
    public void showItem(){
     for (int i = 0; i<nElems; i++){
      System.out.println ("a["+i+"]= "+ a[i] );
     }
    }
 
}
public class SelectSort{
 public static void main(String[] args){
      Array ab = new Array(10);
      ab.insert(23);
      ab.insert(45);
      ab.insert(144);
      ab.insert(56);
      ab.insert(23);
      ab.insert(12);
      System.out.println ("排序前");
      ab.showItem();
      ab.SelectSort();
      System.out.println ("排序后");
      ab.showItem();
    }
}