编程语言
首页 > 编程语言> > 使用java写一个冒泡排序

使用java写一个冒泡排序

作者:互联网

冒泡排序,人人都会写,但是写一个高格局的冒泡排序就不一样了。

 

1:定义接口:Sorter

 

public interface Sorter{

   //list:待排序的数组

   public <T extends Comparable<T> > void sort(T[ ] list);

 

  public <T> void sort(T [] list,Comparator<T> compa); 

}

 

//创建一个排序的工具类

public class SorterUtils implements Sorter{

 

@Override  
    public <T extends Comparable<T>> 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 <T> void sort(T[] list, Comparator<T> 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;  
                }  
            }  
        }  
    }  

  

}

 

标签:sort,java,swapped,int,list,冒泡排序,len,使用,public
来源: https://www.cnblogs.com/qq1141100952com/p/13255403.html