/**
 * @(#)insertion.java
 *
 *
 * @author 
 * @version 1.00 2011/2/18
 */



import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;


public class insertion extends JFrame {
	
	
    private static  JTextField firstTextField  = new JTextField(3);
    private static JTextField secondTextField = new JTextField(3);
    private static  JTextField thirdTextField  = new JTextField(3);
    private static JTextField fourthTextField = new JTextField(3);
    
    public insertion() {
    	
   
       setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
        JPanel textFieldPanel = new JPanel(new GridLayout(1, 4, 5, 5));
        textFieldPanel.add(firstTextField);
        textFieldPanel.add(secondTextField);
        textFieldPanel.add(thirdTextField);
        textFieldPanel.add(fourthTextField);
        textFieldPanel.setBorder(new TitledBorder(" "));
 
        add(textFieldPanel);
 
    }

	  	public static void main (String[ ] args)
	{   
		 insertion frame = new insertion();
        frame.setLocation(200,200);
        
       
        frame.setTitle("homwork # 1");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setSize(300,300);
	  
    int[] list = new int[4];
    for (int i = 0; i < list.length; i++) 
      list[i] = (int)(Math.random() * 10);
      
      
      	print(list);
  
    
      insertionSort(list);
      
	  		
	}	
	public static void insertionSort (int [ ] x) 
	{
		for (int i = 1; i < x.length; i++){
	
	       		for (int j = i; j > 0 && x [j -1] > x [j]; j--){
	       	       
		    		swap (x, j, j -1);
		    			System.out.print("\n");
	
		              print(x);	
                     
                      
                      
                      
                      
		    	
	       		}}
	} 

	public static  void swap (int  [ ] x, int a, int b) 
	{
		int  t = x[a];
		x[a] = x[b];
		x[b] = t;
	} 
		
    public static  void print(int [ ] x){
    	
    for (int i = 0; i < x.length; i++){
      
          if(i==0)
      	firstTextField.setText(""+x[i]);
      	  if(i==1)
      	secondTextField.setText(""+x[i]);
      	  if(i==2)
      	thirdTextField.setText(""+x[i]);
      	  if(i==3)
      	fourthTextField.setText(""+x[i]);
      		
    }
    }

    
    
    
}