基础是很重要的,在这里将各种排序方式归纳总结:
1,插入排序:
import java.util.ArrayList;
import java.util.Random;
//插入排序一组自动生成的数据
//JAVA类实现序例化的方法是实现java.io.Serializable接口
//Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
public class InserSort {
/**
* @param args
*/
ArrayList<Integer> al;
//生成数据集合,带参数的,可以重写
public InserSort(int num,int mod){
System.out.print("InserSort...................\n");
al = new ArrayList<Integer>(num);
Random rand = new Random();
System.out.print("The ArrayList Sort Before:\n");
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(){
System.out.print("SortIt\n...................\n");
System.out.println("原集合:"+al.toString());
Integer tempInt;
int MaxSize = 1;
for(int i=1;i<al.size();i++){
System.out.print("i="+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++){
System.out.print("j="+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) {
//实例化InserSort类,生成数据集合
InserSort is = new InserSort(50, 100);
//通过InserSort类的SortIt方法将集合中的数据进行排序
is.SortIt();
}
}