精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java編程內(nèi)功-數(shù)據(jù)結(jié)構(gòu)與算法「哈希表」

開(kāi)發(fā) 后端 算法
散列表(Hash Table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key Value)而直接進(jìn)行訪(fǎng)問(wèn)的數(shù)據(jù)結(jié)構(gòu)。

[[388064]]

 基本介紹

散列表(Hash Table,也叫哈希表),是根據(jù)關(guān)鍵碼值(Key Value)而直接進(jìn)行訪(fǎng)問(wèn)的數(shù)據(jù)結(jié)構(gòu)。也就是說(shuō),它通過(guò)把關(guān)鍵碼值映射到表中的一個(gè)位置來(lái)訪(fǎng)問(wèn)記錄,以加快查找的速度。這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表


Google上機(jī)題

有一個(gè)公司,當(dāng)有新員工來(lái)報(bào)到時(shí),要求將該員工的信息加入(id,性別,年齡,地址….),當(dāng)輸入該員工的id時(shí),要求查找該員工的所有信息。

要求:不使用數(shù)據(jù)庫(kù),盡量節(jié)省內(nèi)存,速度越快越好。

  1. package com.xie.hashtable; 
  2.  
  3. import java.util.Scanner; 
  4.  
  5. public class HashTableDemo { 
  6.     public static void main(String[] args) { 
  7.         //創(chuàng)建一個(gè)HashTab 
  8.         HashTab hashTab = new HashTab(7); 
  9.  
  10.         String key = ""
  11.         Scanner scanner = new Scanner(System.in); 
  12.         while (true) { 
  13.             System.out.println("add:添加雇員"); 
  14.             System.out.println("list:顯示雇員"); 
  15.             System.out.println("find:查找雇員"); 
  16.             System.out.println("delete:刪除雇員"); 
  17.             System.out.println("exit:退出程序"); 
  18.             key = scanner.next(); 
  19.             switch (key) { 
  20.                 case "add"
  21.                     System.out.println("輸入id"); 
  22.                     int id = scanner.nextInt(); 
  23.                     System.out.println("輸入name"); 
  24.                     String name = scanner.next(); 
  25.                     Emp emp = new Emp(id, name); 
  26.                     hashTab.add(emp); 
  27.                     break; 
  28.                 case "list"
  29.                     hashTab.list(); 
  30.                     break; 
  31.                 case "find"
  32.                     System.out.println("請(qǐng)輸入編號(hào)"); 
  33.                     int no = scanner.nextInt(); 
  34.                     hashTab.findEmpById(no); 
  35.                     break; 
  36.                 case "delete"
  37.                     System.out.println("請(qǐng)輸入編號(hào)"); 
  38.                     int deleteNo = scanner.nextInt(); 
  39.                     hashTab.deleteEmpById(deleteNo); 
  40.                     break; 
  41.                 case "exit"
  42.                     scanner.close(); 
  43.                     System.exit(0); 
  44.                     break; 
  45.                 default
  46.                     break; 
  47.             } 
  48.         } 
  49.     } 
  50.  
  51. //創(chuàng)建哈希表,管理多條鏈表 
  52. class HashTab { 
  53.     private int size
  54.     private EmpLinkedList[] empLinkedListArray; 
  55.  
  56.     public HashTab(int size) { 
  57.         this.size = size
  58.         empLinkedListArray = new EmpLinkedList[size]; 
  59.         for (int i = 0; i < size; i++) { 
  60.             empLinkedListArray[i] = new EmpLinkedList(); 
  61.         } 
  62.  
  63.     } 
  64.  
  65.     //添加雇員 
  66.     public void add(Emp emp) { 
  67.         //根據(jù)員工的id,得到該員工應(yīng)當(dāng)添加到哪條鏈表 
  68.         int empLinkedListNo = hashFun(emp.id); 
  69.         //將emp添加到對(duì)應(yīng)的鏈表 
  70.         empLinkedListArray[empLinkedListNo].add(emp); 
  71.     } 
  72.  
  73.     //查找員工 
  74.     public Emp findEmpById(int id) { 
  75.         int no = hashFun(id); 
  76.         Emp empById = empLinkedListArray[no].findEmpById(id); 
  77.         if (empById == null) { 
  78.             System.out.println("不存在id=" + id + "元素"); 
  79.             return null
  80.         } else { 
  81.             System.out.println("存在id=" + id + ",name=" + empById.name); 
  82.             return empById; 
  83.         } 
  84.     } 
  85.  
  86.     //刪除雇員 
  87.     public void deleteEmpById(int id) { 
  88.         int no = hashFun(id); 
  89.         empLinkedListArray[no].deleteEmp(id); 
  90.     } 
  91.  
  92.     //遍歷哈希表 
  93.     public void list() { 
  94.         for (int i = 0; i < size; i++) { 
  95.             empLinkedListArray[i].list(i); 
  96.         } 
  97.     } 
  98.  
  99.     //編寫(xiě)散列函數(shù),使用簡(jiǎn)單的取模法 
  100.     private int hashFun(int id) { 
  101.         return id % size
  102.     } 
  103.  
  104.  
  105. //表示雇員 
  106. class Emp { 
  107.     public int id; 
  108.     public String name
  109.     public Emp next
  110.  
  111.     public Emp(int id, String name) { 
  112.         this.id = id; 
  113.         this.name = name
  114.     } 
  115.  
  116.     @Override 
  117.     public String toString() { 
  118.         return "Emp{" + 
  119.                 "id=" + id + 
  120.                 ", name='" + name + '\'' + 
  121.                 '}'
  122.     } 
  123.  
  124. //表示鏈表 
  125. class EmpLinkedList { 
  126.     //頭指針 
  127.     private Emp head; 
  128.  
  129.     //添加雇員到鏈表 
  130.     //說(shuō)明: 
  131.     //1.當(dāng)添加雇員時(shí),id時(shí)自增的,即id分配總是從小到大,因此我們將該雇員直接加到本鏈表的最后即可 
  132.     public void add(Emp emp) { 
  133.         //如果是添加第一個(gè)雇員 
  134.         if (head == null) { 
  135.             head = emp; 
  136.         } else { 
  137.             Emp curr = head; 
  138.             while (true) { 
  139.                 if (curr.next == null) { 
  140.                     break; 
  141.                 } 
  142.                 curr = curr.next
  143.             } 
  144.             curr.next = emp; 
  145.         } 
  146.     } 
  147.  
  148.     //遍歷 
  149.     public void list(int no) { 
  150.         if (head == null) { 
  151.             System.out.println("第" + (no + 1) + "鏈表為空"); 
  152.             return
  153.         } 
  154.         System.out.print("第" + (no + 1) + "鏈表信息為:"); 
  155.         Emp curr = head; 
  156.         while (true) { 
  157.             if (curr != null) { 
  158.                 System.out.printf("=> id=%d,name=%s\t", curr.id, curr.name); 
  159.                 curr = curr.next
  160.             } else { 
  161.                 break; 
  162.             } 
  163.         } 
  164.         System.out.println(); 
  165.     } 
  166.  
  167.     //根據(jù)id查找雇員 
  168.     public Emp findEmpById(int id) { 
  169.         if (head == null) { 
  170.             System.out.println("鏈表為空"); 
  171.             return null
  172.         } 
  173.         Emp temp = head; 
  174.         while (temp != null) { 
  175.             if (temp.id == id) { 
  176.                 return temp
  177.             } 
  178.             temp = temp.next
  179.         } 
  180.         return null
  181.     } 
  182.  
  183.     //根據(jù)id刪除雇員 
  184.     public void deleteEmp(int id) { 
  185.         if (head == null) { 
  186.             System.out.println("沒(méi)有id=" + id + "的雇員"); 
  187.             return
  188.         } 
  189.         Emp curr = head; 
  190.         boolean flag = false
  191.         while (true) { 
  192.             if (curr == null) { 
  193.                 break; 
  194.             } 
  195.             if (curr.next.id == id) { 
  196.                 flag = true
  197.                 break; 
  198.             } 
  199.             curr = curr.next
  200.         } 
  201.         if (flag) { 
  202.             curr.next = curr.next.next
  203.         } else { 
  204.             System.out.println("沒(méi)有id=" + id + "的雇員"); 
  205.         } 
  206.     } 
  207.  

 【編輯推薦】

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2021-05-12 09:07:09

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-18 08:44:20

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-13 09:37:41

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-09 06:30:32

JAVA數(shù)據(jù)結(jié)構(gòu)算法

2021-03-23 08:33:22

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-26 08:40:28

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-12 09:13:47

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-08 06:28:57

JAVA數(shù)據(jù)結(jié)構(gòu)與算法稀疏數(shù)組

2021-03-10 08:42:19

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-15 09:36:44

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-07 09:26:37

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-16 09:40:52

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-14 08:27:40

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-22 10:07:45

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-05-13 07:34:56

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-23 09:12:09

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-11 08:53:20

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-03-24 10:41:04

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-05-08 08:28:38

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-04-01 10:34:18

Java編程數(shù)據(jù)結(jié)構(gòu)算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

911福利视频| 久久一区二区三区欧美亚洲| 久久免费看少妇高潮v片特黄| 成人精品视频在线观看| 亚洲精品国产一区二区精华液 | 国产乱淫a∨片免费视频| 欧美一区亚洲| 日韩国产欧美区| 国产精品一区二区小说| 久草在线视频网站| 国产欧美精品一区二区色综合| 91精品国产综合久久香蕉| 久久久久成人网站| 欧美理论视频| 亚洲成人动漫在线播放| 91亚洲免费视频| 国产99re66在线视频| 国产欧美日韩久久| 国产精品视频一区二区三区经| 中文字幕一区二区人妻视频| 欧美69wwwcom| 国产亚洲视频中文字幕视频| 欧美一级免费在线| a一区二区三区| 亚洲精品中文在线影院| 日韩精品欧美专区| 天天干天天爱天天操| 久久99国内精品| 欧美亚洲成人网| 欧美三级日本三级| 91亚洲国产成人久久精品| 日韩av中文在线| 无码国产精品一区二区高潮| 国产精品毛片久久久久久久久久99999999| 亚洲一区二区三区中文字幕在线| 亚洲国产精品一区在线观看不卡 | 国产成人麻豆免费观看| 一区在线视频观看| www日韩欧美| 精品人体无码一区二区三区| 免费看av成人| 亚洲成人aaa| 第一页在线视频| 999色成人| 欧美日韩一区二区在线视频| 苍井空浴缸大战猛男120分钟| 波多野结衣中文在线| 亚洲六月丁香色婷婷综合久久| 亚洲v日韩v欧美v综合| 男女av在线| 91丨九色丨黑人外教| 国产精品一码二码三码在线| www.五月婷婷| 国产.精品.日韩.另类.中文.在线.播放| 国产欧美日韩免费看aⅴ视频| 无码人妻一区二区三区线| 国产日韩一区二区三区在线播放| 高清亚洲成在人网站天堂| 久久精品波多野结衣| 欧美深夜福利| 欧美精品久久久久a| 久久艹精品视频| 在线观看不卡| 国产91精品不卡视频| 精品免费囯产一区二区三区| 男人的天堂成人在线| 日韩av快播网址| 久久精品视频2| 日本午夜精品视频在线观看| 国产精品久久久久久亚洲影视| 波多野结衣理论片| 蜜臀久久99精品久久久久久9 | 91精品91久久久中77777老牛| 国产精品一区二区日韩| 福利视频导航一区| 最近免费中文字幕中文高清百度| 日韩成人亚洲| 欧美精品三级日韩久久| 日本少妇激三级做爰在线| 日本伊人久久| 日韩大陆欧美高清视频区| 亚洲av片不卡无码久久| 成人激情视频| 久久影视电视剧免费网站清宫辞电视| 久久精品99国产精| 欧美资源在线| 91精品久久久久久久久久入口| av观看在线免费| 99久久免费精品| 日韩福利一区二区三区| 国产黄色小视频在线| 亚洲一区二区欧美| 熟女少妇精品一区二区| 国产在线一区不卡| 亚洲精品久久久久久久久久久久久| 日韩中文字幕电影| 欧美丰满日韩| 91国产美女在线观看| 亚洲免费视频二区| 国v精品久久久网| 日韩av一级大片| 日本动漫理论片在线观看网站| 亚洲3atv精品一区二区三区| 青青青国产在线视频| 在线综合色站| 在线日韩欧美视频| 久久久国产精品黄毛片| 久久久久久黄| 粉嫩av免费一区二区三区| 久久免费看视频| 亚洲精品综合在线| 黄色永久免费网站| 极品一区美女高清| 久久夜色精品国产亚洲aⅴ| 日韩熟女精品一区二区三区| 九九九久久久精品| 免费一区二区三区| 免费网站在线观看人| 欧美三级电影网| 黄色网址在线视频| 欧美精品日韩| 国产欧美欧洲在线观看| 午夜一区在线观看| 亚洲综合视频在线观看| 午夜宅男在线视频| 亚洲人成网亚洲欧洲无码| 欧美日韩国产二区| 国产精品老熟女视频一区二区| 久久综合成人精品亚洲另类欧美 | 精品国产麻豆免费人成网站| 亚洲人成人无码网www国产| 国产精品草草| 91久久大香伊蕉在人线| 免费a级在线播放| 欧美午夜一区二区三区免费大片| 最近中文字幕无免费| 欧美片第1页综合| 亚洲自拍高清视频网站| 在线观看黄av| 欧美亚洲一区二区在线| 性少妇bbw张开| 99视频一区| 国内视频一区二区| 国模精品视频| 亚洲精品美女视频| 91看片在线播放| 成人深夜在线观看| 国产夫妻自拍一区| 97久久亚洲| 久久久亚洲影院| 老牛影视av牛牛影视av| 亚洲一区欧美一区| 年下总裁被打光屁股sp | 午夜精品久久久久久久91蜜桃| 中文字幕在线不卡视频| 一本一道久久a久久综合蜜桃| 91日韩免费| 亚洲综合自拍一区| 欧美草逼视频| 精品处破学生在线二十三| 精品无码免费视频| 成人免费视频一区| 三上悠亚久久精品| 美女少妇全过程你懂的久久| 日韩av免费看网站| 97视频在线观看网站| 欧美日韩亚洲国产综合| 希岛爱理中文字幕| 粉嫩av亚洲一区二区图片| 丰满的少妇愉情hd高清果冻传媒| 成人动态视频| 欧美亚洲视频在线看网址| 久久久久久久久亚洲精品| 欧美亚洲动漫精品| 国内毛片毛片毛片毛片毛片| 黄网站免费久久| 欧美 日韩 国产精品| 成人性生交大片免费看中文视频 | 成人高清av在线| 国产精品秘入口18禁麻豆免会员| 亚洲va久久| 国产精品日韩在线播放| 高清免费电影在线观看| 亚洲精品在线电影| 无码人妻精品一区二区50| 国产精品护士白丝一区av| 最好看的中文字幕| 国产免费成人| 中文字幕不卡每日更新1区2区| 国产精区一区二区| 8x拔播拔播x8国产精品| av电影在线网| 亚洲精品一区二区三区精华液 | 性欧美长视频| 亚洲一卡二卡区| 黄色欧美在线| 国产欧美精品va在线观看| 影音先锋男人资源在线| 亚洲乱码国产乱码精品精| 国产喷水吹潮视频www| 精品久久久中文| jizzjizz日本少妇| 成人国产在线观看| 亚洲一区二区三区四区五区| 亚洲精品激情| 在线观看成人一级片| 高清日韩欧美| 国产日韩欧美黄色| 九色porny丨首页入口在线| 久久久精品一区| 欧美日本网站| 欧美成人bangbros| 中国黄色一级视频| 性久久久久久久| 国产视频精品免费| 国产丝袜在线精品| 亚洲少妇18p| 国产美女一区二区| jizzzz日本| 免费在线播放第一区高清av| 麻豆一区二区三区在线观看| 欧美伦理影院| 久久婷婷开心| 一区二区日韩| 91精品视频在线看| 中文.日本.精品| 日本高清久久天堂| 成人bbav| 久久久久久久网站| 亚洲第一图区| 久久伊人精品天天| 国产剧情在线| 久久久精品一区二区| 国产1区2区3区在线| 亚洲女同性videos| 亚洲欧美日韩成人在线| 亚洲成人a**站| 欧美视频xxx| 精品国产乱码久久久久久蜜臀| 国产三级按摩推拿按摩| 3d动漫精品啪啪| 国产精品人人妻人人爽| 欧美喷潮久久久xxxxx| 中文字幕日本视频| 欧美三电影在线| 一级特黄色大片| 欧美乱妇15p| 91禁在线观看| 91精品国产综合久久香蕉的特点 | 欧美视频免费看| 国产精品www| 91九色综合| 国产精品一区二区久久国产| 欧美一区=区三区| 国产精品一区二区三区久久久| 日韩一级二级| 国产精品视频区1| 99蜜月精品久久91| 国产精品一区久久| 天堂久久午夜av| 国产精品人成电影| 亚洲日本在线观看视频| 国产成人短视频| 性欧美video另类hd尤物| 国产在线观看一区二区三区| 韩国精品视频在线观看| 91沈先生作品| 深夜激情久久| 99久久精品免费看国产四区 | 国产美女免费网站| 久久久久国产精品人| 日本少妇aaa| 亚洲欧美日韩系列| 国产精品老熟女一区二区| 亚洲福利国产精品| 欧美福利视频一区二区| 日韩欧美在线字幕| 国产一区二区视频网站| 欧美在线观看一区| 夜夜躁狠狠躁日日躁av| 欧美不卡一区二区| 亚洲欧美色视频| 亚洲网站视频福利| 尤物视频在线看| 98精品国产高清在线xxxx天堂| 国内激情视频在线观看| 国产美女久久久| 日韩在线观看中文字幕| 国产伦精品一区| 欧美日韩中文一区二区| 国产对白在线播放| 影音先锋日韩资源| 牛夜精品久久久久久久| 国产乱码精品一品二品| 在线观看一区二区三区四区| 久久精品欧美一区二区三区麻豆| 三级黄色录像视频| 亚洲午夜三级在线| 中文字幕在线观看第二页| 日韩一区二区在线看片| 手机看片1024日韩| 久久精品91久久久久久再现| 男男gaygays亚洲| 国产成人精品在线视频| 国产激情一区| 91精品国产综合久久久久久丝袜 | 亚洲精品乱码久久久久久金桔影视| 成人午夜在线观看视频| 亚州av一区二区| 亚洲成人高清| 免费观看成人在线| 黄色av成人| 奇米视频7777| 久久综合九色综合97婷婷女人 | 这里只有精品在线观看视频 | 国产在线观看免费麻豆| 欧美亚洲免费电影| 美国十次综合久久| 欧美极品一区二区| 亚洲毛片网站| 日韩av片专区| 国产亚洲1区2区3区| 久久久久久久久久久久久久免费看 | 色男人天堂av| 国产网站一区二区| 狠狠躁夜夜躁人人爽天天高潮| 欧美精品免费视频| 日色在线视频| 992tv在线成人免费观看| 精品国产亚洲一区二区三区| 久久亚洲综合网| 一区二区91| wwwww在线观看| 亚洲免费在线播放| 中国黄色一级视频| 亚洲美女喷白浆| 日本在线啊啊| 成人片在线免费看| 午夜精品视频| 无码国产精品一区二区高潮| 一区在线中文字幕| 国产精品高清无码| 亚洲免费成人av电影| 国产嫩草在线视频| 91九色在线观看| 国产一区二区三区四区三区四| 怡红院亚洲色图| 国产欧美一区在线| 一级做a爰片久久毛片| 日韩精品高清在线| 一区二区乱码| 精品欧美一区二区三区久久久| 欧美日韩1区| 小毛片在线观看| 亚洲国产日韩一区二区| 日日夜夜精品免费| 韩日精品中文字幕| 国产美女撒尿一区二区| 日韩小视频在线播放| av一区二区三区在线| 国产在线视频在线观看| 欧美大片国产精品| av影片在线| 国产超碰91| 亚洲看片一区| 亚洲av无码国产精品久久| 亚洲综合激情网| 深夜福利视频在线免费观看| 国内精品免费午夜毛片| 神马香蕉久久| 欧美伦理视频在线观看| 国产亚洲福利社区一区| 一级黄色片在线| 久久艹在线视频| 欧美成人基地| 色欲av无码一区二区人妻| 久久久三级国产网站| 91久久国语露脸精品国产高跟| 精品国内产的精品视频在线观看| 精品视频一区二区三区在线观看| 蜜桃网站在线观看| av成人免费在线观看| 中文文字幕一区二区三三| 精品国产一区二区三区久久狼黑人 | 日韩大片在线免费观看| 热99这里只有精品| 欧美国产一区二区| 国产伦精品一区二区三区免.费| 国产69精品99久久久久久宅男| 琪琪久久久久日韩精品| 日本久久久久久久久久久久| 亚洲一线二线三线视频| 日韩av高清在线| 91久久在线视频| aa亚洲婷婷| 少妇高潮在线观看| 337p日本欧洲亚洲大胆精品| 国产日韩另类视频一区| 成人午夜视频免费观看| 久久综合久色欧美综合狠狠|