黑马程序员技术交流社区
标题:
冒泡排序高效率问题
[打印本页]
作者:
乐宝myhoney
时间:
2014-2-5 21:17
标题:
冒泡排序高效率问题
在毕老师的基础视频里,讲到冒泡排序时,说到的那个用两个存储在栈中的变量来替换堆中数组的置换,以提高效率,有谁知道这个程序的具体实现,求代码!多谢各位了!
作者:
徐芾清
时间:
2014-2-19 20:39
应该是用^异或运算吧,冒泡排序本身就不是一个高效率的排序方法,想高效学学其他的排序方法
作者:
追逐
时间:
2014-3-14 15:31
//写一个函数对数组进行排序,运用冒泡排序法
public static void bubbleSort(int[] arr) {
for(int i = 0; i <arr.length; i++) {
for(int j = 0; j < arr.length - i - 1; j++){//-i是让每次比较的元素减少,-1是为了避免数组下标越界
if(arr[j] > arr[j + 1]) {
arraySort_1(arr, j);
}
}
}
}
这个就是冒泡排序的源代码,希望对你能有所帮助
作者:
谜燕
时间:
2014-3-14 15:39
public class 希尔排序 {
public static void main(String[] args) {
int[] a={49,38,65,97,76,13,27,49,78,34,12,64,1};
System.out.println("排序之前:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
//希尔排序
int d = a.length;
while(true){
d = d / 2;
for(int x=0;x<d;x++){
for(int i=x+d;i<a.length;i=i+d){
int temp = a[i];
int j;
for(j=i-d;j>=0&&a[j]>temp;j=j-d){
a[j+d] = a[j];
}
a[j+d] = temp;
}
}
if(d == 1){
break;
}
}
System.out.println();
System.out.println("排序之后:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
}
}
复制代码
这希尔排序,毕老师说这种速度很快,没有必要掌握,了解就行。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2