zoukankan      html  css  js  c++  java
  • 冒泡排序

                       /**
                       *冒泡排序算法,在一个数组中使得其按照大小顺序排序输出
                       *@author LZ
                       *@vesion 2014.6.7
                       */
    
                       //创建冒泡排序算法的类
                       class BubbleSort
                       {
                             //此类是一个充血模型
                              
                             /**
                             *无参的构造方法
                             *@param 无
                             *@return*/
    
                             public BubbleSort(){}
    
                             /**
                             *写一个方法BubbleSort_action()来操作排序算法
                             *@param  int[] sort
                             *@return  int[]
                             */
    
                             public int[] BubbleSort_action(int[] sort){
    
                                      //调用OutPut(),输出未经排序的元素
                                      System.out.println("未经冒泡排序的结果:");
                                      OutPut(sort);
                                      
                                      //判断传入的参数是否合法
                                      if(sort == null ||sort.length <= 0){
                                            System.out.println("参数sort或数组中无元素!");
                                      }
                                       
                                      //调用交换方法实现交换操作
                                      swap(sort);
                                    
                                      //调用OutPut(),输出排序后的元素
                                      System.out.println("冒泡排序后的结果:");
                                      OutPut(sort);
    
                                      return sort;
                             }
    
                             /**
                             *写一个实现交换的代码
                             *@param int[] sort
                             *@return*/
    
                             public void swap(int[] 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-1 ;o_num++){
    
                                              //内层循环
                                        inner:
                                             for(i_num = 0;i_num <sort.length-o_num-1;i_num++){
                                                  
                                                  //冒泡排序,轻的冒起来
                                                  if(sort[i_num] > sort[i_num+1]){
                                                      //实现交换的代码
                                                        temp = sort[i_num];
                                                        sort[i_num] = sort[i_num +1];
                                                        sort[i_num+1] = temp;
                                                         
                                                  }
     
                                             }
    
                                      }
                                     /** System.out.println(">>>>>>>>");
                                      *for(int i = 0;i < 9 ;i++){
                                      *   System.out.println(sort[i]);
                                      *
                                      *}
                                      *System.out.println("i_num="+i_num+"o_num="+o_num+"length = "+sort.length);
                                      */
                                      if(o_num == sort.length){System.out.println("冒泡成功!");}
                             }
    
                             /**
                             *写一个方法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);
                                  
                             }
                       }
  • 相关阅读:
    MFC中控制Tips的显示
    VC++6.0/MFC 自定义edit 限制输入内容 响应复制粘贴全选剪切的功能
    VC++6.0/MFC中如何限制Edit控件输入 例子,只能输入0和1
    Windows安装配置php+memcached的方法
    mrg_myIsam分表引擎用法
    用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做
    PHP慢脚本日志和Mysql的慢查询日志(转)
    nginx 配置优化的几个参数
    static详解
    Redis命令总结
  • 原文地址:https://www.cnblogs.com/qpxv/p/3788832.html
Copyright © 2011-2022 走看看