用Java写一个冒泡排序方法
java语言2.24W
引导语:冒泡排序也是Java语言面试可能会出现的题目,以下是本站小编分享给大家的`用Java写一个冒泡排序方法,欢迎阅读学习!
用Java写一个冒泡排序
答:冒泡排序几乎是个程序员都写得出来,但是面试的时候如何写一个逼格高的冒泡排序却不是每个人都能做到,下面提供一个参考代码:
12345678910111213141516171819202122 | import arator; /**
* 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可以相互替换)
* @author骆昊
*
*/ public interface Sorter {
/**
* 排序
* @param list 待排序的数组
*/
public <T extends Comparable<T>> void sort(T[] list);
/**
* 排序
* @param list 待排序的数组
* @param comp 比较两个对象的比较器
*/
public <T> void sort(T[] list, Comparator<T> comp); } |
123456789101112131415161718192021222324252627282930313233343536373839404142 | import arator; /**
* 冒泡排序
*
* @author骆昊
*
*/ public class BubbleSorter implements Sorter {
@Override
public <T extends Comparable<T>> void sort(T[] list) {
boolean swapped = true ;
for ( int i = 1 , len = th; i < len && swapped; ++i) {
swapped = false ;
for ( int j = 0 ; j < len - i; ++j) {
if (list[j]areTo(list[j + 1 ]) > 0 ) {
T temp = list[j];
list[j] = list[j + 1 ];
list[j + 1 ] = temp;
swapped = true ;
}
}
}
}
@Override
public <T> void sort(T[] list, Comparator<T> comp) {
boolean swapped = true ;
for ( int i = 1 , len = th; i < len && swapped; ++i) {
swapped = false ;
for ( int j = 0 ; j < len - i; ++j) {
if (are(list[j], list[j + 1 ]) > 0 ) {
T temp = list[j];
list[j] = list[j + 1 ];
list[j + 1 ] = temp;
swapped = true ;
}
}
}
} } |
-
2017计算机二级考试《JAVA》备考测试题「带答案」
为确保同学们将所涉及的考点全面复习到位,让大家充满信心的步入考场,以下是本站小编搜索整理的一份计算机二级考试《JAVA》备考测试题【带答案】,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!1).下列语句中,可以作为无限循环...
-
计算机二级JAVA考试强化训练题(单选)
为帮助考生们更快第掌握二级JAVA相应知识点,以下是本站小编搜索整理的一份计算机二级JAVA考试强化训练题(单选),供参考练习,预祝考生们考出自己理想的成绩!想了解更多相关信息请持续关注我们应届毕业生考试网!单选题1).下列关于Applet的安全限制的叙述中,错误的是(...
-
2017上半年计算机二级Java备考练习题及答案
练习做多了自然会形成自己的做题方法和速度,为此,今天本站小编为大家整理了以下2017上半年计算机二级Java备考练习题及答案,希望对大家有帮助!练习题一1、以下不是Java中有效的关键字。A、constB、NULLC、falseD、this本题考查的是Java的关键字。Java中常量null,fa...
-
java中String和StringBuffer的区别
java中String和StringBuffer的区别String这个类是Java中使用得最频繁的类之一,以下就是小编精心推荐java中String和StringBuffer的区别,希望对大家有帮助!看到这个讲解的不错,所以转一下在java中有3个类来负责字符的操作。acter是进行单个字符操作的,ng对一串字符...