A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小聪 中级黑马   /  2012-12-20 21:33  /  1846 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王小聪 于 2012-12-20 21:36 编辑

//建立一个数组
public class Demo1{
public static void main(String[] args){
int[] arr = {1,3,4,5,8,6,}
for(int i = 0 :i<arr.length-1:i++){
   for(int j = 0:j<arr.length-1-i:j++){
       if(arr[j]<arr[j+1])
       int t = arr[j];
       arr[j] = arr[j+1];
       arr[j+1] = t;
      
}

}
}
//问题是我这个应该在哪儿输出结果啊?选择排序我已经会了,但是冒泡自己总是晕乎乎的
}

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
冒泡排序可以作为一个方法实现,所以,你可以定义一个冒泡函数
public static void bubbleSort(int[] arr)//传入一个int型的数组
{
      for(int i = 0 :i<arr.length-1:i++)
     {
           for(int j = 0:j<arr.length-1-i:j++)
           {
            if(arr[j]<arr[j+1])
               int t = arr[j];
               arr[j] = arr[j+1];
               arr[j+1] = t;
           }
     }
}

然后在你的main函数里面,
创建一个数组int[] arr = {1,3,4,5,8,6,};
然后调用这个bubbleSort函数;然后就可以打印出这个排序好的数组。

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1 赞一个!

查看全部评分

回复 使用道具 举报
高境 发表于 2012-12-20 21:45
冒泡排序可以作为一个方法实现,所以,你可以定义一个冒泡函数
public static void bubbleSort(int[] arr)/ ...

谢谢。请问直接输出的话在哪儿输出啊?
回复 使用道具 举报
我写的
public class Test3 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //初始化一个整型数组
                int[] bubb={32,1,54,26,24,87,13,88};
                bubbing(bubb);
        }
        //定义一个冒泡排序方法
        public static void bubbing(int[] bu)
        {
                for(int i=0;i<bu.length-1;i++)
                {
                        for(int j=i+1;j<bu.length;j++)
                        {
                                if(bu[i]>bu[j])
                                {
                                        int temp=bu[i];
                                        bu[i]=bu[j];
                                        bu[j]=temp;
                                }
                        }
                }
                //遍历排序后的数组
                for(int i:bu)
                {
                        System.out.println(i);
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你的数组要经过排序之后才能输出的是排序好的数组,你可以再定义一个函数,是专门用来打印数组的(遍历数组),然后调用这个函数,从而输出数组中的元素。
回复 使用道具 举报
本帖最后由 darkwyvern 于 2012-12-21 09:16 编辑

这段代码实现的是应用冒泡排序方法对已知数组进行从大到小的排序。
代码本身没有错误。

如果想要实现楼主所说的“输出”,需要另外单独写一个用于打印数组的函数,然后在这段代码里进行调用即可。
下面附上我写的一段代码:


class Demo1
{
        public static void main(String[] args)
        {
                int[] arr = {1,3,4,5,8,6};
                for (int x=0;x<arr.length-1 ;x++ )
                {
                        for (int y=0;y<arr.length-x-1 ;y++ )
                        {
                                if (arr[y]<arr[y+1])
                                {
                                        int temp = arr[y];
                                        arr[y] = arr[y+1];
                                        arr[y+1] = temp;
                                }
                        }
                }
                printArray(arr);//调用打印,即输出位置
        }

        public static void printArray(int[] arr){//打印数组函数
                System.out.print("[");
                for(int x=0;x<arr.length;x++){
                        if(x!=arr.length-1){
                                System.out.print(arr[x]+",");
                        }
                        else
                                System.out.println(arr[x]+"]");
                }
        }
}


其中printArray函数就是用于打印数组的,即楼主所说的“输出”。

不知对楼主有没有帮助。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马