package com.xx.test;
public class BubbleSort implements Comparable{
public void bubbleSort(E[] array) {
// 声明一个变量用于交换两个元素时使用
E temp;
for(int i = 0; i < array.length - 1; i++) {
for(int j = 0; j < array.length - i - 1; j++) {
if(((Comparable) array[j]).compareTo(array[j + 1]) < 0) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
public int compareTo(E o) {
// 这里要实现比较两个对象的大小
return 0;
}
}

因为是泛型,所以需要根据实际情况来写一个compareTo方法来比较大小,例如传进来的是基本数据类型,那么就直接比较大小,如果传进来的是字符串,按字典顺序重写compareTo()方法,其他的类型又怎么比较就行了!

冒泡排序算法:

int类型的数组:3 1 6 2 5

第一次循环:

1 3 6 2 5

1 3 6 2 5

1 3 2 6 5

1 3 2 5 6

第二次循环:

1 3 2 5

1 2 3 5

1 2 3 5

第三次循环:

1 2 3

1 2 3

。。。

算法:取出最大的放在最后,下次就不用比较最后一个了。

*/public class BubbleSort{ public static void main(String[] args){ int[] a = {3,1,6,2,5}; //开始排序 for(int i=a.length-1;i>0;i--){ for(int j=0;ja[j+1]){ //交换位置 int temp; temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } //遍历 for(int i=0;i

主要代码如下,认真看看明白思路,再运行看看结果......

class BubbleSort{
public static int[] sort(int[] array) {
int temp;
for(int i=0;i
for(int j=array.length-1;j>i;j--){
if(array[j]
temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}
}
}
return array;
}
}
public class MaoPao { public static void main(String args[]) { int[] arr={2,1,3,4,6,5,7,8,9,0,10}; //N是数组的元素个数,这样无论多少个数,直接修改arr中的元素就行了, //不需要调整循环次数 int N = arr.length; int temp=0; //冒泡排序:每次把最大的放到最后,N-i是因为第i次排序之后, //数组arr的最后i个数已经是按照大小顺序的了,所以不需要再排序了 //比如第一次排序之后,最后一个数肯定是最大的,下一次只需要排前9个就行了。 for(int i=1;iarr[j+1]) { temp=arr[j]; //交换2个数 arr[j]=arr[j+1]; arr[j+1]=temp; } } } for(int i=0;i
@org.junit.Test\tpublic void b(){\t\tString[] strs={"avcd","bdce","avcdf","cced","bdce"};\t\tfor (int i = 0; i =strs[j].length()) {\t\t\tif (num+1strs[i].charAt(num)) {\t\t\t\t\tString temp=strs[i];\t\t\t\t\tstrs[i]=strs[j];\t\t\t\t\tstrs[j]=temp;\t\t\t\t\t//若相等,则判断第二个\t\t\t\t}else if(strs[j].charAt(num)==strs[i].charAt(num)){\t\t\t\t\tnum++;\t\t\t\t\tcompare(strs, i,j, num);\t\t\t\t}\t\t\t}\t\t}else{\t\t\tif (num+1strs[i].charAt(num)) {\t\t\t\t\tString temp=strs[i];\t\t\t\t\tstrs[i]=strs[j];\t\t\t\t\tstrs[j]=temp;\t\t\t\t\t//若相等,则判断第二个\t\t\t\t}else if(strs[j].charAt(num)==strs[i].charAt(num)){\t\t\t\t\tnum++;\t\t\t\t\tcompare(strs, i,j, num);\t\t\t\t}\t\t\t}else{\t\t\t\t//表示当前字符串内容都一致,strs[j]的长度大。 则放前面。\t\t\t\tString temp=strs[i];\t\t\t\tstrs[i]=strs[j];\t\t\t\tstrs[j]=temp;\t\t\t}\t\t}\t}

用泛型编写一个冒泡排序法(java语言)

: package com.xx.test;public class BubbleSort implements Comparable{ public void bubbleSort(E[] array) {// 声明一个变量用于交换两个元素时使用 E temp; for(int i = 0; i < array.length - 1; i++) { for(int j = 0; j < array.length - i - 1; j++) { if(((...

用JAVA语言编写一个冒泡排序法,要详细的 -

: 我n年前上学用的,你看看把,呵呵.希望对你有帮助 public class Test { public void Sx(int[] t) { for(int i = 0;i < t.length;i++) { if(t[i] < 10) { System.out.print("0"+t[i]+" ");}else { System.out.print(t[i]+" ");} if((i+1) % 6 == 0) { System.out.println(); ...

请编程实现一个冒泡排序算法? -

: 一个标准的简单冒泡排序算法:void bubble_sort(int a[], int n) { int i, j, temp; for (i = 0; i < n-1; i++) for (j = 0; j < n-1-i; j++) { if(a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } }

用java编写冒泡排序和选择排序 代码???

: 选择排序和冒泡排序很像,以至于到现在很多书上写的可能都有错误,也给新人学习带来了麻烦. 我们有一个方法来分辨这两种算法,非常简单,只要在源代码中看到类似于:if(s[j]>s[j+1])这个就知道这是冒泡了,因为它只是交换临近的两个.而看到诸如:if(s[i]>s[j])就知道这是选择了,因为它是把i位置以后每一个元素跟i这个位置上的元素比较. 这个和java没什么关系,算法本身是独立于编程语言之外的,学会了思想,用什么语言都能做.

用JAVA语言编辑个冒泡排序 ? -

: public class Test1 { public static void main(String[] args) { int[] arr = { 2, 5, 10, 13, 11, 90, 3, 21, 99, 42, 26, 31, }; // System.out.println(arr.length); System.out.println("排序前的数组:"); /*for (int i = 0; i

用Java中ArrayList类实现一个冒泡排序 -

: public void printSeqArrayList(List unit1) { int i, j; int n = unit1.size()-1; Boolean exchange; // 交换标志 for (i = 0; iexchange = false; // 本趟排序开始前,交换标志应为假 for (j = n - 1; j >= i; j--) { // 对当前无序区R[i..n]自下向上扫描 if (unit1.get(j) > ...

用java写个冒泡排序? -

: 冒泡排序算法:int类型的数组:3 1 6 2 5 第一次循环:1 3 6 2 51 3 6 2 51 3 2 6 51 3 2 5 6 第二次循环:1 3 2 51 2 3 51 2 3 5 第三次循环:1 2 31 2 3 ... 算法:取出最大的放在最后,下次就不用比较最后一个了.*/ public class BubbleSort{ ...

用JAVA编写一个冒泡排序,不可以用Arrays.用简单的语句就OK.急用!谢谢!

: public class sortNum { public static void main(String[] args) { int[] num={2,56,9,78,6,7,1,76}; int tmp=0; for(int i=0;ii;j--){ if(num[j]

冒泡排序算法的编写

: public static int[] BubbleSort(int[] list){int i, temp;for (int j = 0; j j; i--){if (list[j] list[i]) 就修改为升序了.

用JAVA写出冒泡排序的算法 -

: 我给你写一个完整的算法:Public Class Bubblesort{ Public static void main(string args[]){ int array[] = {"55","44","22","14","5"}; for(int i = 0;i