用Java写一个冒泡排序。

用Java写一个冒泡排序。importjava util Comparator nbsp nbsp 排序器接口 策略模式 将算法封装到具有共同接口的独立的类中使得它们可以相互替换 nbsp author 骆昊 nbsp nbsp publicinterf nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 排序 nbsp nbsp nbsp nbsp paramlist 待排序的数组 nbsp nbsp nbsp nbsp nbsp nbsp nbsp publ

import
java.util.Comparator;
 
/
 
* 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可以相互替换)
 
* @author骆昊
 
*
 
*/
public
interface
Sorter {
 
   
/
    
* 排序
    
* @param list 待排序的数组
    
*/
   
public


extends
Comparable

>

void
sort(T[] list);

 
   
/
    
* 排序
    
* @param list 待排序的数组
    
* @param comp 比较两个对象的比较器
    
*/
   
public



void
sort(T[] list, Comparator

comp);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import
java.util.Comparator;
 
/
 
* 冒泡排序
 
*
 
* @author骆昊
 
*
 
*/
public
class
BubbleSorter
implements
Sorter {
 
    
@Override
    
public


extends
Comparable

>

void
sort(T[] list) {

        
boolean
swapped =
true
;
        
for
(
int
i =
1
, len = list.length; i < len && swapped; ++i) {
            
swapped =
false
;
            
for
(
int
j =
0
; j < len - i; ++j) {
                
if
(list[j].compareTo(list[j +
1
]) >
0
) {
                    
T temp = list[j];
                    
list[j] = list[j +
1
];
                    
list[j +
1
] = temp;
                    
swapped =
true
;
                
}
            
}
        
}
    
}
 
    
@Override
    
public



void
sort(T[] list, Comparator

comp) {

        
boolean
swapped =
true
;
        
for
(
int
i =
1
, len = list.length; i < len && swapped; ++i) {
            
swapped =
false
;
            
for
(
int
j =
0
; j < len - i; ++j) {
                
if
(comp.compare(list[j], list[j +
1
]) >
0
) {
                    
T temp = list[j];
                    
list[j] = list[j +
1
];
                    
list[j +
1
] = temp;
                    
swapped =
true
;
                
}
            
}
        
}
    
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222318.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:03
下一篇 2026年3月17日 下午4:04


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号