4種類のソート方法:選択、泡立ち、挿入、高速ソート.

2859 ワード

package book.oo.shape;
public class CoverHiderTest{
 //  
 public int[] sortASC(int[] intArray){
  if(intArray==null){
   return null;
  }
  int[] srcDatas=(int[])intArray.clone();
  int size=srcDatas.length;
  for(int i=0;i<size;i++){
   for(int j=i;j<size;j++){
    if(srcDatas[i]>srcDatas[j]){
     swap(srcDatas,i,j);
    }
   }
  }
  return srcDatas;
 }
 
 private void swap(int[] data,int src,int desc){
  int temp=data[src];
  data[src]=data[desc];
  data[desc]=temp;
 }
 
//  ; ;
 public int[] sortASC2(int[] intArray){
    if(intArray==null){
     return null;
    }
    int[] srcDatas=(int[])intArray.clone();
    boolean changedPosition=true;
    int comparedTimes=0;
    int maxComparedTimes=srcDatas.length-1;
    while((comparedTimes<maxComparedTimes)&&changedPosition){
    for(int i=0;i<(maxComparedTimes-comparedTimes);i++){
     changedPosition=false;
      if(srcDatas[i]>srcDatas[i+1]){
       swap(srcDatas,i,i+1);
       changedPosition=true;
      }
     }
     comparedTimes++;
    } 
    return srcDatas;
 }
 
//  
 public int[] sortASC3(int[] intArray){
  if(intArray==null){
   return null;
  }
  int[] srcDatas=(int[])intArray.clone();
  int size=srcDatas.length;
  int temp=0;
  int index=0;
  for(int i=1;i<size;i++){
   temp=srcDatas[i];
   index=i;
   while((index>0)&&(temp<srcDatas[index-1])){
    srcDatas[index]=srcDatas[index-1];
    index--;
   }
   srcDatas[index]=temp;
  }
  return srcDatas;
 }
 
//  ...
 
 
 public static void main(String[] args){
// ;
  int[] arr=new int[]{1,8,9,2,6,4,3,0,5,7};
  CoverHiderTest test=new CoverHiderTest();
  int[] arr1=test.sortASC(arr);
  for(int i=0;i<arr1.length;i++){
    System.out.println(arr1[i]);
  }
  int[] arr2=test.sortASC2(arr);
  for(int i=0;i<arr2.length;i++){
   System.out.println(arr2[i]);
  }
  int[] arr3=test.sortASC3(arr);
  for(int i=0;i<arr3.length;i++){
    System.out.println(arr3[i]);
  }
  
  Child child=new Child();
  System.out.println(child.name+child.age+child.kind);
  Parent parent=child;
  System.out.println(parent.name+parent.age+parent.kind);
  System.out.println(child.getParentName());
  System.out.println(child.getParentKind());
  child.getName();//C2
  child.getKind();//C1
  parent.getName();//C2
  parent.getKind();//P1
 }
}