package test;
/*
* 插入排序
*
* 依次把标记插入到左边的有序的序列中。标记依次向后移动,直到最后。
* */
class SArray
{
private int[] array;
private int nElems;
public SArray(int size)
{
array=new int[size];
nElems=0;
}
public void insert(int item)
{
array[nElems++]=item;
}
public void insert_sort()
{
int in;
int out;
for(out=1;out<nElems;out++)
{
int temp=array[out];//做标记即要插入的值
in=out;//标记的位置
/*依次与标记比较,把比temp大的值向后移一位,空出放temp的位置*/
while(in>0&&array[in-1]>=temp)
{
array[in]=array[in-1];
in--;
}
array[in]=temp;
}
}
public void swap(int a,int b)
{
int temp;
temp=array[a];
array[a]=array[b];
array[b]=temp;
}
public void display()
{
for(int i=0;i<nElems;i++)
System.out.print(array[i]+" ");
}
}
public class selectSort
{
public static void main(String[] args)
{
SArray Arr=new SArray(20);
for(int i=0;i<10;i++)
{
int n=(int)(java.lang.Math.random()*99);
Arr.insert(n);
}
Arr.display();
Arr.insert_sort();
System.out.println();
Arr.display();
}
}