2个回答
展开全部
package com.xx.test;
public class BubbleSort<E> implements Comparable<E>{
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<E>) 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()方法,其他的类型又怎么比较就行了!
public class BubbleSort<E> implements Comparable<E>{
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<E>) 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()方法,其他的类型又怎么比较就行了!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-13
展开全部
public class Test1 {
public static void main(String[] args) {
Integer[] elems = { 2, 3, 4, 5, 1 };
new BubbleSort<Integer>().sort(elems); }
} class BubbleSort<E extends Comparable<E>> { public void sort(E... elems) {
// TODO Auto-generated method stub
E temp;
int count = 1;
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
System.err.println("---------------------");
for (int i = 0; i < elems.length; i++) {
for (int j = elems.length - 1; j > i; j--) {
if (elems[j].compareTo(elems[j - 1]) < 0) {
temp = elems[j - 1];
elems[j - 1] = elems[j];
elems[j] = temp;
}
System.err.print("count-" + count + ":");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
count++;
}
System.err.print("count-" + count + ":");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
count++;
}
System.err.println("---------------------");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
}
}
public static void main(String[] args) {
Integer[] elems = { 2, 3, 4, 5, 1 };
new BubbleSort<Integer>().sort(elems); }
} class BubbleSort<E extends Comparable<E>> { public void sort(E... elems) {
// TODO Auto-generated method stub
E temp;
int count = 1;
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
System.err.println("---------------------");
for (int i = 0; i < elems.length; i++) {
for (int j = elems.length - 1; j > i; j--) {
if (elems[j].compareTo(elems[j - 1]) < 0) {
temp = elems[j - 1];
elems[j - 1] = elems[j];
elems[j] = temp;
}
System.err.print("count-" + count + ":");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
count++;
}
System.err.print("count-" + count + ":");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
count++;
}
System.err.println("---------------------");
for (int k = 0; k < elems.length; k++) {
System.err.print(elems[k] + " ");
}
System.err.println();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询