Java实现直接插入排序

直 接插入排序是有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序;排序的主要思想是:将有序数存放在 数组a中,要插入的数为x,首先要确定x在数组a中的位置p,然后将数组a中p位置以后的数都往后移动一位,空出a(p),然后将x放入a(p)位置,这 样即可实现插完以后的数据仍然有序。

首先生成一组随机数:

 

  1. protected void do_button_actionPerformed(ActionEvent e)  
  2. {  
  3.     Random random = new Random();  
  4.     textArea1.setText("");  
  5.     for(int i = 0;i<array.length; i++){  
  6.         array[i] = random.nextInt(90);  
  7.         textArea.append(array[i] + "\n");  
  8.     }  
  9. }  


排序算法代码:

 

    1. protected void do_button1_actionPerformed(ActonEvent e)  
    2. {  
    3.     int tmp;  
    4.     int j;  
    5.     for(int i = 1;i<array.length; i++)  
    6.     {  
    7.         tmp = array[i];  
    8.         for(j =i - 1; j>=0 && array[j] > tmp; j--){  
    9.             array[j+1] = tmp;  
    10.         }  
    11.         array[j+1] = tmp;  
    12.     }  
    13.     textArea2.setText("");  
    14.     for(int i = 0;i<array.length; i++){  
    15.         textArea2.append(array[i] + "\n");  
    16.     }  

posted on 2012-11-06 16:15  wencansz  阅读(169)  评论(0编辑  收藏  举报