hash_lookup.m

来自「Matlab工具包补充算发」· M 代码 · 共 35 行

M
35
字号
function [val, found, Nentries] = hash_lookup(key, fname)% HASH_LOOKUP Lookup a key in a hash table stored in a file using linear search% function [val, found, Nentries] = hash_lookup(key, filename)%% Example:% If htbl.mat does not exist,%   [val,found,N] = hash_lookup('foo', 'htbl')% returns found val = [], found = 0, N = 0%   hash_add('foo', 42, 'htbl')%   hash_add('bar', [1:10], 'htbl')%   [val,found,N] = hash_lookup('foo', 'htbl')% now returns val = 42, found = 1, N = 2%% Type 'delete htbl' to delete the file/ reset the hashtableval = [];found = 0;if exist(fname, 'file')==0  % new hashtable  Nentries = 0;else  %hashtable = importdata(fname);  load(fname);  Nentries = length(hashtable.key);  for i=1:Nentries    if isequal(hashtable.key{i}, key)      val = hashtable.value{i};      found = 1;      break;    end  endend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?