zoukankan      html  css  js  c++  java
  • 插入排序

    插入排序:

    初始化类代码:

                   /**
                    *插入排序算法,在一个数组中使得其按照大小顺序排序输出
                    *@author LZ
                    *@vesion 2014.6.7
                    */
          
                   class InitiateSort
                   {
    
                       
                             //此类是一个充血模型
                              
                             /**
                             *无参的构造方法
                             *@param 无
                             *@return*/
    
                             public InitiateSort(){}
                           
                            /**
                             *写一个实现的代码
                             *@param int[] sort
                             *@return*/
                                  public void InitiateSort_action(int[] sort){
                                    //调用OutPut(),输出未经排序的元素
                                      System.out.println("未经插入排序的结果:");
                                      
                                      
                                      //判断传入的参数是否合法
                                      if(sort == null ||sort.length <= 0){
                                            System.out.println("参数sort或数组中无元素!");
                                      }
                                       
                                      
                                    /**
                                      *算法:选择排序算法
                                      *int o_num 表示外层比较所处的次数
                                      *int i_num 表示内层仍需比较所处的次数
                                      */
    
                                      int o_num =0;
                                      int i_num =0;
                                      //定义一个整型的变量来短暂的存储交换时候的值
                                      int temp = 0;
                                      
        
                                  outer:
                                      for(o_num = 0;o_num < sort.length-2 ;o_num++){
    
                                         inner:
                                            for(i_num = o_num;i_num < sort.length -2;i_num++){
                                               //让最小的总是处在最前面
                                                //选择排序的核心代码
    
                                                  if(sort[o_num] > sort[i_num+1]){
                                                        temp = sort[o_num];
                                                      sort[o_num] = sort[i_num+1];
                                                      sort[i_num+1] = temp;
    
                                                  }
                                            }
                                            
    
                                      }
                                     
                                      if(o_num == sort.length-2){System.out.println("排序成功!");}
                                      //调用输出方法将排序成功的数组输出便于观察
    
                                      
                             }
    
                            
                   }

    //插入代码:

                       /**
                       *插入排序算法,在一个数组中使得其按照大小顺序排序输出
                       *@author LZ
                       *@vesion 2014.6.7
                       */
    
                       //创建选择排序算法的类
                       class InsertSort
                       {
                             //此类是一个充血模型
                              
                             /**
                             *无参的构造方法
                             *@param 无
                             *@return*/
    
                             public InsertSort(){}
    
                             /**
                             *写一个方法InsertSort_action()来操作排序算法
                             *@param  int[] sort,int input 表示要插入的元素
                             *@return  int[]
                             */
    
                             public void InsertSort_action(int[] sort,int input){
    
                                     
    
                                      //内部调用Insert_action()方法实现插入操作
                                      Insert_action(sort,input);
    
                                    
                                      //调用OutPut(),输出排序后的元素
                                      System.out.println("插入排序后的结果:");
                                      
                             }
    
                            
    
                            
    
                             /**
                             *写一个插入的算法,在方法Insert_action()中将要插入的元素
                             *按照其大小插入合适的位置
                             *使其按照从小到大的顺序输出
                             *@param int[] sort ,int input
                             *@return*/
    
                             public void Insert_action(int[] sort,int input){
                        
                                     
                                    /**
                                      *算法:插入排序算法
                                      *int o_num 表示外层比较所处的次数
                                      *int i_num 表示内层仍需比较所处的次数
                                      */
    
                                      int o_num =0;
                                      int i_num =0;
                                      //定义一个整型的变量来短暂的存储交换时候的值
                                      int temp = 0;
        
                                  outer:
                                      for(o_num = 0;o_num < sort.length-2 ;o_num++){
                                               //此处是用来找到元素要插入的位置的
    
                                                  if(input > sort[o_num]&&input <sort[o_num+1]){
                                                      System.out.println("找到了要插入的位置!"+sort[o_num]);
                                                       //内层循环,找到了要插入的位置,那么就要进行插入操作了
                                                       //于是,就要操作数组,数组后移给出空间
                                                      inner:
                                                        for(i_num = sort.length -2;i_num > 3;i_num--){   
                                                               sort[i_num+1] = sort[i_num];
                                                              
                                                        }
                                                        
                                                        //System.out.println("i_num ="+i_num+"o_num="+o_num);
                                                        sort[i_num+1] = input;
                                                   }
                                            
    
                                      }
                             
                             }
                             
    
                            
                       }

    //输出代码:

                       /**
                       *输出类,输出插入排序
                       *@author LZ
                       *@version 2014.6.7
                       */
    
                       public class InsertOutPut
                       {
                              /**
                             *写一个方法OutPut()输出排序前后的元素
                             *@param int[] sort
                             *@return*/
    
                             public void OutPut(int[] sort){
                                 //定义一个整型变量记录输出位置
                                 int i ;
                                 //输出数组中保存的元素
                                 for(i = 0;i <sort.length ;i++){
    
                                        System.out.println(sort[i]+" ");
                                 
                                 }
                                 System.out.println("元素个数为:"+sort.length);
                                  
                             } 
    
                       }

    这些只是记录个人的学习的路程。

  • 相关阅读:
    MyEclipse 8.5 M1注册码(转)
    非常经典有深度的电影英文台词(转)
    pb函数库 DataWindow常用函数(转)
    35岁以前把下面十件事做好(转)
    相识如茶,相思似酒(转)
    常用的SQL 脚本
    SQL Server Mobile 数据类型
    人生的35个好习惯 给人生的25条建议(转)
    sybase数据库相关
    模板
  • 原文地址:https://www.cnblogs.com/qpxv/p/3788870.html
Copyright © 2011-2022 走看看