Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 气泡排序算法_Java_Sorting_Bubble Sort - Fatal编程技术网

Java 气泡排序算法

Java 气泡排序算法,java,sorting,bubble-sort,Java,Sorting,Bubble Sort,我正在研究bubblesort,并在学习后提出了此代码。几乎网络上的每一个代码都与我的不同。但是我的工作没有问题 你们能告诉我我做错了吗 int[] a= {23,1,5,12,1,2,3}; for (int i=0; i<a.length; i++) { for (int j=1; j<a.length; j++) { if(a[j]<a[j-1]) { int temp=a[j]; a[j]

我正在研究bubblesort,并在学习后提出了此代码。几乎网络上的每一个代码都与我的不同。但是我的工作没有问题

你们能告诉我我做错了吗

int[] a= {23,1,5,12,1,2,3};

for (int i=0; i<a.length; i++) {

    for (int j=1; j<a.length; j++) {

        if(a[j]<a[j-1]) {

            int temp=a[j];

            a[j]=a[j-1];

            a[j-1]=temp;
        }
    }

    System.out.println(Arrays.toString(a));
} 

这在技术上是正确的,但不是最优的。您提到的其他解决方案可能包括一个布尔值,以确保在继续之前列表尚未排序。无论怎样,您的版本都将在^2次迭代中运行,即使输入已经排序。

根据Corman的文档:

它的工作原理是反复交换无序的相邻元素,而您的元素也会这样做


正如书中所提到的,它不是最理想的解决方案,但它在^2时间内做到了这一点。你如何实现完全取决于你,但如果我给它评分,我会给你满分

我投票结束这个问题,因为它要求输入/审查工作代码。虽然这里没有主题,但它可能适合代码审查,但请先阅读。