首页 > 代码库 > 普林斯顿大学算法课 Algorithm Part I Week 3 自我总结

普林斯顿大学算法课 Algorithm Part I Week 3 自我总结

要熟练掌握比较器Comparator

public final Comparator<T> MY_COMPARATOR = new myComparator(); //定义比较器.....public int comparaTo(T t){.....}private class myComparator implements Comparator<T>{  public int compare(T v, T w){  return v.comparaTo(w)                     //compare()是比较器里的重写方法  //一般来说compareTo()是compare()的具体实现方法,但这不是固定的,只是习惯。你可以完全不用compareTo()  }}

 

Week3作业里提到的一些方法或类

  • toString()
  • draw()和drawTo():画点和画线段
  • Comparator
  • java.util.Arrays.sort(a, lo, hi)、java.util.Arrays.sort(a, lo, hi, Comparator)  ——> 很常用很重要的排序

 

代码风格:

return new MyClass() {  @Override public void method() {    if (condition()) {      try {        something();      } catch (ProblemException e) {        recover();      }    }  }};
  • 左大括号前不换行
  • 左大括号后换行
  • 右大括号前换行
  • 如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。
void doNothing() {}
  • 一个空块状结构什么也不包含,不需要换行,括号写在一起。

 

if () {// your code}else if {// your code}

需要空格的地方

  • 分隔任何保留字与紧随其后的左括号(()(如if, for catch等)。
  • 分隔任何保留字与其前面的右大括号(})(如else, catch)。
  • 如果在一条语句后做注释,则双斜杠(//)两边都要空格。这里可以允许多个空格,但没有必要。
  • 类型和变量之间:List list。
  • 数组初始化中,大括号内的空格是可选的,即new int[] {5, 6}和new int[] { 5, 6 }都是可以的。

参考:Google Java Style、中文版


 

需要加强的部分  

  • API文档的查看
  • 编辑器的使用(不会用,心情被搞得好糟糕)

普林斯顿大学算法课 Algorithm Part I Week 3 自我总结