Java 气泡排序算法
我正在研究bubblesort,并在学习后提出了此代码。几乎网络上的每一个代码都与我的不同。但是我的工作没有问题 你们能告诉我我做错了吗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]
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时间内做到了这一点。你如何实现完全取决于你,但如果我给它评分,我会给你满分 我投票结束这个问题,因为它要求输入/审查工作代码。虽然这里没有主题,但它可能适合代码审查,但请先阅读。