Java教程

使用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;  
                }  
            }  
        }  
    }  

  

}

 

这篇关于使用java写一个冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!