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: 你那不就是最经典的代码了么,教材的例子都是这样的时间复杂度还能再简单么?
一年多之前 回复
qq_21496785
qq_21496785 这样也不简单啊。会减少判断次数吗?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!