並べ替えの挿入(Java実装)


public class InsertSort {
	public static void main(String[] args)
	{
		//    
		int[] a = {5,1,3,0,1,4,-1};
		int L = a.length;
		//             
		if(a[1]<a[0])
		{
			int tmp=a[0];
			a[0]=a[1];
			a[1]=tmp;
		}
		//        
		for(int i=2;i<L;i++)
		{
			//                  
			if(a[i]<=a[0])
			{
				int tmp=a[i];
				for(int j=i;j>0;j--)
				{
					a[j]=a[j-1];
				}
				a[0]=tmp;
			}
			//                  
			else if(a[i]>=a[i-1])
				continue;
			//                     
			else
			{
				for(int k=0;k<i-1;k++)
				{
					if(a[i]>=a[k]&&a[i]<=a[k+1])
					{
						int tmp1=a[i];
						for(int m=i;m>k+1;m--)
						{
							a[m]=a[m-1];
						}
						a[k+1]=tmp1;
					}
				}
			}
		}
		for(int element:a)
			System.out.println(element+" ");
	}
}