黑马程序员技术交流社区

标题: 冒泡排序 [打印本页]

作者: xiecong    时间: 2015-8-5 13:35
标题: 冒泡排序
class MaoPao
{
        public static void main(String[] args)
        {
                int [ ]  arr = {2,6,8,9,12,43,25,88,15};
                printArry(arr);
                maoPao(arr);
                printArry(arr);

        }
        public static int[] maoPao(int[ ] arr)
        {
                for(int x = 0 ;x<arr.length;x++)
                        for(int y = x+1;y<arr.length;y++)
                {
                        if(arr[x]>arr[y])
                        {
                                arr[x] = arr[x]^arr[y];
                                arr[y] = arr[x]^arr[y];
                                arr[x] = arr[y]^arr[x];
                        }
                }
                return arr;
        }
        public static void printArry(int[ ] arr)
        {
                for(int i = 0;i<arr.length;i++)
                        System.out.print(arr[i]+"\t");
                System.out.println();
        }
}



作者: 白羽蘇芳    时间: 2015-8-5 13:53
这不是选择排序么   冒泡比较的是两个相邻的元素啊
作者: 蛋糕的爱意    时间: 2015-8-5 13:59
这是选择排序呀冒泡排序是要想一个泡泡那样升上去的。
作者: xiecong    时间: 2015-8-5 14:07
蛋糕的爱意 发表于 2015-8-5 13:59
这是选择排序呀冒泡排序是要想一个泡泡那样升上去的。

水里鱼儿吐的气泡越来越大 的意思  从第一个开始第一个与后边的每一个相比只能比后边的都小  。。。。。。这样从小到大排序就叫冒泡排序呀
作者: 金逗逗    时间: 2015-8-5 15:38
你贴错代码了吧?这是选择排序
作者: 徐鹏辰    时间: 2015-8-5 15:50
怎么可以不写注释!
作者: kingxiao    时间: 2015-8-5 16:08
class  maoPao
{
        public static void maopao(int arr[])
        {
                for (int x=0;x<arr.length ;x++ )
                {
                        for (int y=x+1;y<arr.length-x-1 ;y++ )
                        {
                                if(arr[y]<arr[x])
                                {
                                        int temp=arr[x];
                                        arr[x]=arr[y];
                                        arr[y]=temp;
                                }
                        }
                }
        }
       
        public static void print(int arr[])
        {
                for (int x=0;x<arr.length ;x++ )
                {
                        System.out.print(arr[x]+",");
                }
        }


        public static void main(String[] args)
        {
                int arr[]={2,4,1,5,6,8,9};
                maopao(arr);
                print(arr);
        }
}
这才是
作者: kenfans    时间: 2015-8-5 16:22
汗,你们的貌似都是错的,冒泡的比较的
y和y+1比,不是和x比
作者: 叶顺达    时间: 2015-8-5 19:21
不是冒泡 鉴定完毕
作者: xiecong    时间: 2015-8-8 15:24
本帖最后由 xiecong 于 2015-8-8 16:00 编辑
叶顺达 发表于 2015-8-5 19:21
不是冒泡 鉴定完毕

class PM
{
        public static void main(String[] args)
        {
                int[ ]  a = {2,4,1,43,23,56,33,22};
                for (int i = 0;i<a.length ;i++ )
                {
                        for (int j = 0;j<a.length-i-1 ;j++ )
                        {
                                if(a[j+1]<a[j])
                                {
                                        a[j]=a[j]^a[j+1];
                                        a[j+1]=a[j]^a[j+1];
                                        a[j]=a[j+1]^a[j];

                                }
                        }
                }
                for (int x = 0;x<7 ;x++ )
                {
                        System.out.print(a[x]+",");
                }
        }
}


作者: xiecong    时间: 2015-8-8 15:41
确实 搞错了  不好意思 各位
作者: xiecong    时间: 2015-8-8 15:59
class PM
{
        public static void main(String[] args)
        {
                int[ ]  a = {2,4,1,43,23,56,33,22};
                for (int i = 0;i<a.length ;i++ )
                {
                        for (int j = 0;j<a.length-i-1 ;j++ )
                        {
                                if(a[j+1]<a[j])
                                {
                                        a[j]=a[j]^a[j+1];
                                        a[j+1]=a[j]^a[j+1];
                                        a[j]=a[j+1]^a[j];

                                }
                        }
                }
                for (int x = 0;x<7 ;x++ )
                {
                        System.out.print(a[x]+",");
                }
        }
}





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