zoukankan      html  css  js  c++  java
  • JAVA数据结构插入排序

    在JAVA进行插入排序的代码:

     1 // insertSort.java
     2 // demonstrates insertion sort
     3 // to run this program: C>java InsertSortApp
     4 //--------------------------------------------------------------
     5 class ArrayIns
     6    {
     7    private long[] a;                 // ref to array a
     8    private int nElems;               // number of data items
     9 //--------------------------------------------------------------
    10    public ArrayIns(int max)          // constructor
    11       {
    12       a = new long[max];                 // create the array
    13       nElems = 0;                        // no items yet
    14       }
    15 //--------------------------------------------------------------
    16    public void insert(long value)    // put element into array
    17       {
    18       a[nElems] = value;             // insert it
    19       nElems++;                      // increment size
    20       }
    21 //--------------------------------------------------------------
    22    public void display()             // displays array contents
    23       {
    24       for(int j=0; j<nElems; j++)       // for each element,
    25          System.out.print(a[j] + " ");  // display it
    26       System.out.println("");
    27       }
    28 //--------------------------------------------------------------
    29    public void insertionSort()
    30       {
    31       int in, out;
    32 
    33       for(out=1; out<nElems; out++)     // out is dividing line
    34          {
    35          long temp = a[out];            // remove marked item
    36          in = out;                      // start shifts at out
    37          while(in>0 && a[in-1] >= temp) // until one is smaller,
    38             {
    39             a[in] = a[in-1];            // shift item to right
    40             --in;                       // go left one position
    41             }
    42          a[in] = temp;                  // insert marked item
    43          }  // end for
    44       }  // end insertionSort()
    45 //--------------------------------------------------------------
    46    }  // end class ArrayIns
    47 ////////////////////////////////////////////////////////////////
    48 class InsertSortApp
    49    {
    50    public static void main(String[] args)
    51       {
    52       int maxSize = 100;            // array size
    53       ArrayIns arr;                 // reference to array
    54       arr = new ArrayIns(maxSize);  // create the array
    55 
    56       arr.insert(77);               // insert 10 items
    57       arr.insert(99);
    58       arr.insert(44);
    59       arr.insert(55);
    60       arr.insert(22);
    61       arr.insert(88);
    62       arr.insert(11);
    63       arr.insert(00);
    64       arr.insert(66);
    65       arr.insert(33);
    66 
    67       arr.display();                // display items
    68 
    69       arr.insertionSort();          // insertion-sort them
    70 
    71       arr.display();                // display them again
    72       }  // end main()
    73    }  // end class InsertSortApp
  • 相关阅读:
    bzoj2064分裂(dp)
    关于逆元的学习笔记(尚未完成)
    线性基学习笔记
    bzoj2460元素(线性基,贪心)
    CF280C Game on tree(期望dp)
    XJOI contest800
    关闭极域电子教室学生端的各种方法
    大坑!有网,电脑qq登不上去!!
    4.25 ZJOI2017 10AM
    bzoj1621
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2485074.html
Copyright © 2011-2022 走看看