黑马程序员技术交流社区

标题: 冒泡排序和选择排序实例 [打印本页]

作者: WaterTheGreat    时间: 2015-12-17 23:11
标题: 冒泡排序和选择排序实例
/*
需求:将数组{15,4,2,-5,7,-6,-35,94,9}进行从小到大的顺序排序,并输出,要求运用函数
步骤:1先选出最大的数,将它与第一个数交换
      2将交换后的数,除了第一个数,剩下的在选最大的数,跟第二个交换
          3交换到最后,得到一列从大到小排列的数
*/


class Paixu
{
        public static void main(String[] args)
        {  
                int[] a =new int[]{15,4,2,-5,7,-6,-35,94,9};
                //选择
            paijiang(a);
                printarr(a);
                paisheng(a);
                printarr(a);
                //冒泡
                maopaojiang(a);
                printarr(a);
                maopaosheng(a);
                printarr(a);
               
        }

        //选择方式从大到小排序
        public static void paijiang(int [] arr)
        {
              System.out.println("用选择方法进行降序排列: ");
                 for (int i=0;i<arr.length ;i++ )
                 {
                         
                         for (int l=i;l<arr.length ;l++ )//选出剩下中最大的数
                         {   int num;
                 if (arr[i]<arr[l])
                 {
                   num=arr[l];   //交换
                                   arr[l]=arr[i];
                                   arr[i]=num;

                                 }
                         }
         
            
                 }

        }

    //选择方式从小到大
    public static void paisheng(int [] arr)
        {
              System.out.println("用选择方法进行升序排列: ");
                 for (int i=0;i<arr.length ;i++ )
                 {
                         
                         for (int l=i;l<arr.length ;l++ )//选出剩下中最小的数
                         {   int num;
                 if (arr[i]>arr[l])
                 {
                   num=arr[l];   //交换
                                   arr[l]=arr[i];
                                   arr[i]=num;

                                 }
                         }
         
                 }

        }

        //冒泡排序法升序
        public static void maopaosheng(int[] arr)
        {
                 System.out.println("用冒泡方法进行升序排列: ");
                for (int i=0;i<arr.length ;i++ )
                {
                        for (int j=0;j<arr.length-1-i ;j++ )
                        {
                                if (arr[j]>arr[j+1])
                                {
                               int temp=arr[j];
                                   arr[j]=arr[j+1];
                                   arr[j+1]=temp;
                                }
                        }
               
          
                }
        }

        //冒泡排序法降序
        public static void maopaojiang(int[] arr)
        {
                 System.out.println("用冒泡方法进行降序排列: ");
                for (int i=0;i<arr.length ;i++ )
                {
                        for (int j=0;j<arr.length-1-i ;j++ )
                        {
                                if (arr[j]<arr[j+1])
                                {
                               int temp=arr[j];
                                   arr[j]=arr[j+1];
                                   arr[j+1]=temp;
                                }
                        }
               
          
                }
        }

        //打印数组
        public static void printarr(int [] b)
        {
                for (int i=0;i<b.length ;i++ )
                {
                if (i!=b.length-1)
            System.out.print(b[i]+"\t");
                  else
            System.out.print(b[i]+"\n");
                }
        }


}

作者: zhaokai19    时间: 2015-12-18 22:49
学长,顶你一个,写的不错.哦哦哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2