码迷,mamicode.com
首页 > 其他好文 > 详细

哈希表

时间:2020-02-28 22:22:47      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:lis   ++   push   bool   htable   namespace   arch   img   print   

#include<iostream> #include<vector> using namespace std; struct listnode { int val; listnode* next; listnode(int x):val(x),next(NULL){} }; int hash_index(int key, int table_len) { return key % table_len; } void insert(listnode *table[], listnode* node, int table_len) { int index = hash_index(node->val, table_len); node->next = table[index]; table[index] = node; } bool hash_search(listnode *table[], int val, int table_len) { int index = hash_index(val,table_len); listnode* head = table[index]; while(head) { if(head->val == val) return true; head = head->next; } return false; } int main() { const int table_len = 11; listnode *table[table_len] ={0}; vector<listnode*> listnode_vec; int test[8] = {1,2,33,55,11,6,88,44}; for(int i = 0; i < 8; i++) { listnode_vec.push_back(new listnode(test[i])); } for(int i = 0; i < listnode_vec.size(); i++) insert(table, listnode_vec[i], table_len); printf("Hashtable:\n"); for(int i = 0; i < table_len; i++) { printf("[%d]",i); listnode* head = table[i]; while(head) { printf("->[%d]",head->val); head = head->next; } printf("\n"); } return 0; }

技术图片

哈希表

标签:lis   ++   push   bool   htable   namespace   arch   img   print   

原文地址:https://blog.51cto.com/14472348/2474344

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!