Java插入排序算法

来源:互联网 发布:淘宝直播怎么取消镜像 编辑:程序博客网 时间:2024/05/24 02:38

这篇是插入排序算法!

代码如下:

class ArrayIns
{
    private long[] a;
    private int nElems;

    public ArrayIns(int maxSize){
     a = new long[maxSize];
     nElems = 0;
    
    }
    public void insert(long value){
      a[nElems] = value;
      nElems++;
    
    }

    public boolean find(long searchKey){
    
    int j;

    for(j = 0;j < nElems;j++){
     if(a[j] == searchKey)
        break;
    }
    if(j == nElems){
     return false;
    }else{
    
    return true;
    }

    }
    public boolean delete(long value){
    int j;

    for(j = 0;j < nElems;j++){
       if(value == a[j])
           break;
    }
      if(j == nElems){
       return false;
      }else{
       for(int k = j;k < nElems;k++)
           a[k] = a[k + 1];
         nElems--;
       return true;
       }
    }
      

    public void display(){
     for(int j = 0;j < nElems;j++)
         System.out.print(a[j]+" ");
     System.out.println("");

    }
    
    public void insertSort(){
     int in,out;

     for(out = 1;out < nElems;out++){
      long temp = a[out];

      in = out;

      while(in > 0&&a[in - 1] >= temp){
        a[in] = a[in - 1];
        --in;
      }
      a[in] = temp;
    
     }
    
    }




}


public class InsertSortApp
{
    public static void main(String[] args){
      int maxSize = 100;

      ArrayIns arr;

      arr = new ArrayIns(maxSize);

      arr.insert(77);
      arr.insert(99);
      arr.insert(44);
      arr.insert(55);
      arr.insert(22);
      arr.insert(88);
      arr.insert(11);
      arr.insert(00);
      arr.insert(66);
      arr.insert(33);
      arr.display();
    
      arr.insertSort();
      arr.display();

      arr.delete(99);
      arr.delete(00);
      arr.delete(55);
      arr.display();


    }
}


运行结果如图所示:


0 0
原创粉丝点击