annotate src/search/LinearSearch.java @ 0:a9cb12a7f995

hg init
author misaka
date Wed, 06 Jul 2011 15:19:52 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a9cb12a7f995 hg init
misaka
parents:
diff changeset
1 package search;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
2
a9cb12a7f995 hg init
misaka
parents:
diff changeset
3 public class LinearSearch
a9cb12a7f995 hg init
misaka
parents:
diff changeset
4 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
5 public static void main(String args[])
a9cb12a7f995 hg init
misaka
parents:
diff changeset
6 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
7 LinearSearch table = new LinearSearch();
a9cb12a7f995 hg init
misaka
parents:
diff changeset
8
a9cb12a7f995 hg init
misaka
parents:
diff changeset
9 table.add(1,"one");
a9cb12a7f995 hg init
misaka
parents:
diff changeset
10 table.add(10,"ten");
a9cb12a7f995 hg init
misaka
parents:
diff changeset
11 table.add(2,"two");
a9cb12a7f995 hg init
misaka
parents:
diff changeset
12
a9cb12a7f995 hg init
misaka
parents:
diff changeset
13 String x = (String)table.search(10);
a9cb12a7f995 hg init
misaka
parents:
diff changeset
14 if(x != null){
a9cb12a7f995 hg init
misaka
parents:
diff changeset
15 System.out.println("value = "+x);
a9cb12a7f995 hg init
misaka
parents:
diff changeset
16 }else{
a9cb12a7f995 hg init
misaka
parents:
diff changeset
17 System.out.println("Not found");
a9cb12a7f995 hg init
misaka
parents:
diff changeset
18 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
19 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
20
a9cb12a7f995 hg init
misaka
parents:
diff changeset
21 class Entry
a9cb12a7f995 hg init
misaka
parents:
diff changeset
22 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
23 int key;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
24 Object data;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
25
a9cb12a7f995 hg init
misaka
parents:
diff changeset
26 public Entry(int key,Object data)
a9cb12a7f995 hg init
misaka
parents:
diff changeset
27 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
28 this.key = key;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
29 this.data = data;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
30 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
31 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
32
a9cb12a7f995 hg init
misaka
parents:
diff changeset
33 final static int MAX = 100;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
34 final Entry[] table = new Entry[MAX];
a9cb12a7f995 hg init
misaka
parents:
diff changeset
35 int n = 0;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
36
a9cb12a7f995 hg init
misaka
parents:
diff changeset
37 public void add(int key,Object data)
a9cb12a7f995 hg init
misaka
parents:
diff changeset
38 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
39 if(n >= MAX){
a9cb12a7f995 hg init
misaka
parents:
diff changeset
40 System.err.println("データの個数が多すぎます。");
a9cb12a7f995 hg init
misaka
parents:
diff changeset
41 return;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
42 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
43
a9cb12a7f995 hg init
misaka
parents:
diff changeset
44 table[n++] = new Entry(key,data);
a9cb12a7f995 hg init
misaka
parents:
diff changeset
45 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
46
a9cb12a7f995 hg init
misaka
parents:
diff changeset
47 public Object search(int key)
a9cb12a7f995 hg init
misaka
parents:
diff changeset
48 {
a9cb12a7f995 hg init
misaka
parents:
diff changeset
49 int i;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
50
a9cb12a7f995 hg init
misaka
parents:
diff changeset
51 i = 0;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
52 while(i < n){
a9cb12a7f995 hg init
misaka
parents:
diff changeset
53 if(table[i].key == key){
a9cb12a7f995 hg init
misaka
parents:
diff changeset
54 return (table[i].data);
a9cb12a7f995 hg init
misaka
parents:
diff changeset
55 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
56 i++;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
57 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
58
a9cb12a7f995 hg init
misaka
parents:
diff changeset
59 return null;
a9cb12a7f995 hg init
misaka
parents:
diff changeset
60 }
a9cb12a7f995 hg init
misaka
parents:
diff changeset
61 }