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
| package com.qxueyou.scc.Sensitive;
|
| import java.util.ArrayList;
|
| public class List extends ArrayList<Word> {
| public Word get(char c){
| for(Word w :this){
| if(w.c == c) return w;
| }
| return null;
| }
|
| /**
| * 二分查找,必须先升序排序
| * @param c 需要查找的字符
| * @return Word对象:如果找到 null:如果没找到
| */
| public Word binaryGet(char c){
| int left,right,key;
| Word word;
| left = 0;right = this.size()-1;
| while (left <= right){
| key = (left + right) / 2;
| word = get(key);
| if(word.c == c){
| return word;
| }else if(word.c > c){
| right = key - 1;
| }else {
| left = key + 1;
| }
| }
| return null;
| }
|
| public Word add(char c){
| Word word = new Word(c);
| super.add(word);
| return word;
| }
| }
|
|