开发者社区 问答 正文

求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;
}
}
}

展开
收起
蛮大人123 2016-06-13 14:34:49 2020 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪
    //冒泡排序法
    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]+" ");
    
        }
    }
    }
    2019-07-17 19:35:56
    赞同 展开评论
问答分类:
问答标签:
问答地址: