美文网首页
第十九天 - 知识点总结

第十九天 - 知识点总结

作者: DevilIncs | 来源:发表于2016-12-26 19:27 被阅读0次
    //泛型(generic) - 让类型不再是程序中的硬代码(hard code)
      //此处的 extends 不是继承而是泛型限定 限定T类型必须是Comparable 接口的子类型
      // T 类型必须是引用类型
      public static <T extends Comparable<T>> void bubbleSort(T[] array){
          boolean swapped = true;
          for(int i = 0; swapped && i < array.length - 1; i++){
              swapped = false;
              for(int j = 0; j < array.length - i - 1;j++){
                  if(array[j].compareTo(array[j + 1]) > 0)
                  {
                      T temp = array[j];
                      array[j] = array[j + 1];
                      array[j + 1] = temp;
                      swapped = true;
                  }
              }
          }
      }
      
      public static <T> void bubbleSort(T[] array, Comparator<T> comp){
          boolean swapped = true;
          for(int i = 0; swapped && i < array.length - 1; i++){
              swapped = false;
              for(int j = 0; j < array.length - i - 1;j++){
                  if(comp.compare(array[j], array[j + 1]) > 0)
                  {
                      T temp = array[j];
                      array[j] = array[j + 1];
                      array[j + 1] = temp;
                      swapped = true;
                  }
              }
          }
      }
    
    

    这样的冒泡排序基本上可以应对所有情况

    相关文章

      网友评论

          本文标题:第十九天 - 知识点总结

          本文链接:https://www.haomeiwen.com/subject/uqtsvttx.html