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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boboyuwu 高级黑马   /  2016-1-19 22:47  /  2977 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

12黑马币
求大神来。。。。。。。。。。。。。。。。lzm  shi   SB

最佳答案

查看完整内容

class Noname2 { public static void main(String[] args) { int[] arr = {1,5,9,8,4,3,7}; System.out.print("冒泡排序前:"); printArray(arr); bubbleSort(arr); System.out.print("冒泡排序后:"); printArray(arr); } public static void bubbleSort(int[] arr){ for (int i=0; i

4 个回复

倒序浏览
class Noname2
{
        public static void main(String[] args)
        {
                int[] arr = {1,5,9,8,4,3,7};
                System.out.print("冒泡排序前:");
                printArray(arr);
                bubbleSort(arr);
                System.out.print("冒泡排序后:");
                printArray(arr);
        }
        public static void bubbleSort(int[] arr){
                for (int i=0; i<arr.length-1; i++)
                {
                        for (int j=0; j<arr.length-i-1; j++)
                        {
                                if (arr[j]>arr[j+1])
                                {
                                        int temp = arr[j];
                                        arr[j]=arr[j+1];
                                        arr[j+1]=temp;
                                }
                        }
                        System.out.print("第"+(i+1)+"轮排序后:");
                                printArray(arr);
                }
        }
        public static void printArray(int[] arr){
                for (int i=0; i<arr.length; i++)
                {
                        System.out.print(arr[i]+" ");
                }
                System.out.print("\n");
        }
}
回复 使用道具 举报
l845590743 发表于 2016-1-19 22:47
class Noname2
{
        public static void main(String[] args)

冒泡排序是交换排序中一种简单的排序方法。它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到有序化。其处理过程为:
(1)将整个待排序的记录序列划分成有序区和无序区,初始状态有序区为空,无序区包括所有待排序的记录。  (2)对无序区从前向后依次将相邻记录的关键字进行比较,若逆序将其交换,从而使得关键字值小的记录向上"飘浮"(左移),关键字值大的记录好像石块,向下“堕落”(右移)。  每经过一趟冒泡排序,都使无序区中关键字值最大的记录进入有序区,对于由n个记录组成的记录序列,最多经过n-1趟冒泡排序,就可以将这n个记录重新按关键字顺序排列
回复 使用道具 举报
纤路 发表于 2016-1-21 23:31
冒泡排序是交换排序中一种简单的排序方法。它的基本思想是对所有相邻记录的关键字值进行比效,如果是逆顺 ...

最多经过n-1趟冒泡排序  是怎么出来的
回复 使用道具 举报
冒泡排序
*/
class Arrsort
{//main入口中调用函数测试
        public static void main(String[] args)
        {
                int[] arr={2,6,1,5,4,9};
                arrPrint(arr);//打印原数组
                maopaoSort(arr);//调用maopaoSort(int[] arr)方法
                arrPrint(arr);//打印排序后的新数组       
        }
        //定义一个arrPrint(int[] arr)的功能,打印输出数组内容
        public static void arrPrint(int[] arr)
        {
                System.out.print("{");
                for(int i=0;i<arr.length;i++)
                {
                        if(i!=arr.length)
                                System.out.print(arr[i]+", ");
                        else
                                System.out.print(arr[i]+"}");
                }
                System.out.println();
        }
        //定义一个maopaoSort(int[] arr)的功能,进行冒泡排序
        public static void maopaoSort(int[] arr)
        {
                for(int i=0;i<arr.length-1;i++)
                {
                        for(j=0;j<arr.length-i-1;j++)
                        {//进行相邻两个数组元素的大小判断
                                if(arr[j]>arr[j+1])
                                {//满足条件就对这两个元素进行交换
                                        int temp=arr[j];//定义一个第三方变量
                                        arr[j]=arr[j+1];
                                        arr[j+1]=temp;
                                }
                        }
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马