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

hg init
author misaka
date Wed, 06 Jul 2011 15:19:52 +0900
parents
children
line wrap: on
line source

package search;

public class LinearSearch
{
	public static void main(String args[])
	{
		LinearSearch table = new LinearSearch();
		
		table.add(1,"one");
		table.add(10,"ten");
		table.add(2,"two");
		
		String x = (String)table.search(10);
		if(x != null){
			System.out.println("value = "+x);
		}else{
			System.out.println("Not found");
		}
	}
	
	class Entry
	{
		int key;
		Object data;
		
		public Entry(int key,Object data)
		{
			this.key = key;
			this.data = data;
		}
	}
		
	final static int MAX = 100;
	final Entry[] table = new Entry[MAX];
	int n = 0;
	
	public void add(int key,Object data)
	{
		if(n >= MAX){
			System.err.println("データの個数が多すぎます。");
			return;
		}
		
		table[n++] = new Entry(key,data);
	}
	
	public Object search(int key)
	{
		int i;
		
		i = 0;
		while(i < n){
			if(table[i].key == key){
				return (table[i].data);
			}
			i++;
		}
		
		return null;
	}
}