用Java写一个冒泡排序方法
java语言2.09W
引导语:冒泡排序也是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 ;
}
}
}
} } |
-
如何使用一个java
Java是一种可以撰写跨平台应用程序的`面向对象的程序设计语言。以下是小编为大家搜索整理的如何使用一个java,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!...
-
Java 正则表达式
Java是一门编程语言,那么大家知道Java正则表达式是怎样的呢?下面一起来看看!Java正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其...
-
Java编程语言初学者入门课程
初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。希望对您有所帮助!更多内容请关注应届毕业生考试网!一、先明白了解什么是Java的四个方面。初学者先弄清这些Java的基本概念也是必不可少的...
-
java system类使用方法示例
常用的方法:复制代码代码如下:longcurrentTimeMillis();获取当前时间的毫秒值voidexit();终止当前正在运行的Java虚拟机。复制代码代码如下:publicstaticvoidMethod(){longl=entTimeMillis();tln(l);();}描述系统属性信息:Propertiesroperties();该方法获取的`信...