2 qq 21496785 qq_21496785 于 2016.04.24 15:32 提问

求java最简单的冒泡程序

比下面这个要效率高的
for(int i=0;i for(int d=i+1;d if(a[i]>a[d]){
int b=a[i];
a[i]=a[d];
a[d]=b;
}
}
}

2个回答

CSDNXIAOD
CSDNXIAOD   2016.04.24 15:42

java冒泡程序
java冒泡程序
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

sarazeng
sarazeng   2016.04.24 17:06

//冒泡排序法
class ArrayOrder
{
public static void main(String[] args)
{
int[] arr = {3,9,100,95,97,34,65,2,5,8};
sortArray(arr);
printArray(arr);
}

//冒泡排序法 从小到大
public static void sortArray(int[] arr)
{
    for(int i=0;i<arr.length-1;i++)
    {
        for(int j=arr.length-1;j>=i+1;j--)
        {
            int temp;
            if(arr[j-1]>arr[j])
            {
                //temp = arr[j-1];
                //arr[j-1] = arr[j];
                //arr[j] = temp;
                swap(arr,j-1,j);
            }
        }
    }
}

//选择排序法 从小到大
public static void sortSelect(int[] arr)
{
    for(int i=0;i<arr.length-1;i++)
    {
        for(int j=i+1;j<arr.length;j++)
        {
            int temp;
            if(arr[i]>arr[j])
            {
                //temp = arr[i];
                //arr[i] = arr[j];
                //arr[j] = temp;
                swap(arr,i,j);
            }
        }
    }
}

public static void swap(int[] arr,int a,int b)
{
    int temp;
    temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}
public static void printArray(int[] arr)
{
    System.out.print("[");
    for(int i=0;i<arr.length;i++)
    {
        if(i==arr.length-1)
            System.out.println(arr[i]+"]");
        else
            System.out.print(arr[i]+" ");

    }
}

}

niaonao
niaonao 回复qq_21496785: 你那不就是最经典的代码了么,教材的例子都是这样的时间复杂度还能再简单么?
大约 2 年之前 回复
qq_21496785
qq_21496785 这样也不简单啊。会减少判断次数吗?
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
冒泡排序同时得到最大、最小值位置
项目使用过程中,要求得到一天气温的最大值时间。传进来的是所有天数按时间排序BigDecimal数组,因为每一天数据较小,采用比较简单的冒泡排序。 冒泡排序,考虑到,最大的数在与最后那个位置的数交换之前不会被交换。 故最后一次与最后那个位置数交换的数便是最大数,记录下他的位置 如果整个过程没有出现与最后一个数交换,说明最后一个位置的数是最大数 同理得到最小值位置 这是一个简单的de
java 冒泡排序找最大值
public class BubbleSort { public static void main(String[] args) { System.out.println(System.currentTimeMillis()); int[] arr={3,2,1,4,5,6,22,17,13,29,14,15,12,123,13,133,1334,133,34,14}; int t
选择排序和冒泡排序以及求最大数和求最小数
class ArrayToolDemo { public static void main(String []args) { int[] arr={1,3,5,7,9,2,4,6,8,10}; System.out.println("结果:"); ArrayTool tool=new ArrayTool(); //最大数 tool.getMax(arr); //最小数
Java算法求最大最小值,冒泡排序,斐波纳契数列,日历一些经典算法
经典的算法总结
关于冒泡排序的最简单方法和进一步的优化
对冒泡排序的进一步优化
Java 简单排序--冒泡排序
抛砖引玉。。。。 冒泡排序: 核心思想是从头开始让相邻的两个元素进行比较,符合条件就交换位置,这样就把最大值或者最小值放到数组的最后面了; 接着再从头开始两两比较交换,直到把最大值或者最小值放到数组的倒数第二位。(即不需要与最后一位数进行对比) 。。。。。。 以此类推,直到排序完成。 代码示例如下: int array[] = {11,2,5,82,7,0,4,89,
# Java实现冒泡排序—详细解析优化版冒泡
Java实现冒泡排序—详细解析优化版冒泡思想:冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个相邻元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 时间复杂度:最优时间复杂度,最差时间复杂度分析和平均时间复杂度均为 O(n^2),主要的推算公式
Java中的冒泡排序算法-简单实例
冒泡算法的原理实现:(从小到大排序)   1:比较相邻的两个元素,如果第一个比第二个大就交换位置。   2:对每一对相邻的元素进行比较,从开始第一队到结尾的最后一对,这样最后的元素就是最大的了。   3:每一次这样循环一次之后都会有一个最大的数在后面,每确定一个最大的数,那个数在最后面不动它,这是内循环。   4:每次循环确定最大得数沉到最底下,一共要循环数组的长度减一次,这是外循环。
JAVA之求一维数组中最大值与最小值(利用冒泡排序)
package test; public class demo { static void maopao(int num[]) { int i,j,temp; for(i=0;i<num.length-1;i++) { for(j=0;j<num.length-1-i;j++) { if(num[j]>num[j+1])//交换元素
java 一维数组求最大值最小值
package 第二次作业; //java包 import java.util.Scanner; //建议输入头文件 public class 第六题 { //类名 public sta