全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:871
推到 Plurk!
推到 Facebook!

Java問題

尚未結案
doubleface
一般會員


發表:4
回覆:0
積分:0
註冊:2003-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-24 16:46:15 IP:61.219.xxx.xxx 未訂閱
想寫一個Hashing的演算法(有insert,del,search功能),用linkedList來解決碰撞,用 (數字 mod 10) 來決定數字放在那個陣列,陣列大小階為10。只寫出個別的程式。希望高手能指導一下,寫成一個程式,謝謝。 //程式1 public class hashing { public static void main (String[] args) { int arry1[]=new int[10]; int arry2[]=new int[10]; arry2[0]=0; arry2[1]=81; arry2[2]=64; arry2[3]=25; arry2[4]=36; arry2[5]=49; arry2[6]=1; arry2[7]=4; arry2[8]=16; arry2[9]=9; v=arry2[0] % 10 ; switch(a) { case 0: arry1[0]=arry2[0]; System.out.println("0放在" v); break; }}} //程式2 import java.util.*; import java.io.*; class ListNode { String str; ListNode link; } class LL { public static void main(String[] args) { int i=0; LinkedList List=new LinkedList(); do{ try{ Reader in=new InputStreamReader(System.in); String data; System.out.println("請選擇欲執行的功能:"); System.out.println("新增,請選擇=>A"); System.out.println("刪除,請選擇=>D"); System.out.println("搜尋,請選擇=>S"); System.out.println("結束,請選擇=>Q"); System.out.print("您欲執行的項目是:"); i=in.read(); if((char)i=='A') { InputStreamReader num=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(num); System.out.print("請輸入欲新增的數值: "); data=br.readLine(); List.insert(data); List.print(); System.out.println(); } else if((char)i=='D') { List.delete(); List.print(); } else if((char)i=='S') { InputStreamReader num=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(num); System.out.print("請輸入欲搜尋的數值"); data=br.readLine(); List.search(data); List.print(); System.out.println(); }} catch(IOException e) { e.printStackTrace(); } System.out.println(); } while((char)i!='Q');}} class LinkedList //副程式 { int length; ListNode firstNode; public int size(){ return length;} public void insert(String strCode) { ListNode list2=new ListNode(); list2.str=strCode; list2.link=null; if(firstNode==null) {firstNode=list2;} else { ListNode p=firstNode; while(p.link!=null){ p=p.link; } p.link=list2; } length ; } public void delete(){ ListNode previousNode,currentNode; if(firstNode!=null){ if(firstNode.link==null){ firstNode=null; length--; } else{ previousNode=firstNode; currentNode=firstNode.link; while(currentNode.link!=null){ previousNode=currentNode; currentNode=currentNode.link; } previousNode.link=null; length--; }}} public ListNode search(String strCode) //Search { int S=1; ListNode list2; list2=firstNode; while(list2!=null) { if (strCode.equals(list2.str)) { System.out.println("欲搜尋的值為第" S "個Node"); return list2; } else {list2=list2.link; S=S 1; if (list2==null) System.out.println("找不到你要找的值"); } } return list2;} public void print() { ListNode list2; System.out.println("執行結果為: "); System.out.println(); list2=firstNode; while(list2!=null) { System.out.print(list2.str); list2=list2.link; if(list2!=null) System.out.print("->"); }}}
系統時間:2024-05-09 22:36:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!