插入排序算法

来源:互联网 发布:office 2016 64位 mac 编辑:程序博客网 时间:2024/06/11 20:57

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));

        }

    }

 

    publicvoid 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));

        }

    }

 

    publicstaticvoid main(String[] args) {

        InsertSort is = new InsertSort(10, 100);

        is.SortIt();

    }

}

运行结果如图:


0 0
原创粉丝点击