選擇排序

package test;
/*
 * 選擇排序
 * 就是把所有的元素掃描一遍,從中挑出最小的一個與最左邊的元素交換。這時最左邊的元素已經有序了 ,
 * 下次就要把從無序的元素挑出最小的一個與無序的最左邊的元素交換。直到循環完畢
 * */
class SArray
{
   private int[] array;
   private int nElems;
   public SArray(int size)
   {
    array=new int[size];
    nElems=0;
   }
   public void insert(int item)
   {
    array[nElems++]=item;
   }
  public void s_sort()
  {
   int in;
   int out;
   int min;
  for(out=0;out<nElems;out++)
  {
   min=out;
   for(in=out+1;in<nElems;in++)
    if(array[min]>array[in])
     min=in;
   swap(min,out);
  }
   
  }
  
  public void swap(int a,int b)
  {
   int temp;
   temp=array[a];
   array[a]=array[b];
   array[b]=temp;
  }
   public void display()
   {
    for(int i=0;i<nElems;i++)
     System.out.print(array[i]+" ");
   }
}


public class selectSort
{
  public static void main(String[] args)
  {
   SArray Arr=new SArray(20);
   for(int i=0;i<10;i++)
   {
    int n=(int)(java.lang.Math.random()*99);
    Arr.insert(n);
   }
   Arr.display();
   Arr.s_sort();
   System.out.println();
   Arr.display();
   
   
  }
 
}

 

 

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