⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hash_table.h

📁 这是处理语音信号的程序
💻 H
字号:
// file: hash_table.h//// this is the header file for the Hash_table class//// The hash function we use here converts the key to an integer,// divided by the size of the index range and take the reminder as the// result.  The size is often a prime number to get the affect of// spreading the keys quite uniformly.  We usually hope that the index// obtained from the keys can achieve a good spread (uniform); and at// the same time ensure that the result is in the proper range and// with few collisions. The larger the number of values to be stored// in a hash table, larger is the size needed. For instance, there are// more than 20,000 words to be hashed in a SWITCHBOARD application.//// make sure definitions are made only once//#ifndef __ISIP_HASH_TABLE#define __ISIP_HASH_TABLE// isip include files//#ifndef __ISIP_HASH_CELL#include <hash_cell.h>#endif#ifndef __HASH_TABLE_CONSTANTS#include "hash_table_constants.h"#endif// Hash_table: a class that defines a hash table of objects//class Hash_table {  //---------------------------------------------------------------------------  //  // protected data  //  //---------------------------------------------------------------------------protected:  // contents of the hash_table  //  Hash_cell** cells_d;                 // the hash_cell stored in hash_table   int_4 size_d;                         // size of the hash table  char_1 mode_d;  //---------------------------------------------------------------------------  //  // public methods  //  //---------------------------------------------------------------------------public:  // required methods  //  char_1* name_cc();  volatile void error_handler_cc(char_1* mname, char_1* msg);  logical_1 debug_cc(FILE *fp, char_1* message);  int_4 size_cc();    // destructors/constructors  //  ~Hash_table();                                 // destructor  Hash_table(char_1 mode = HASH_TABLE_DEF_MODE);        // default  Hash_table(int_4 num, char_1 mode = HASH_TABLE_DEF_MODE); // overloaded  Hash_table(Hash_table& table);                 // copy  // set methods  //  logical_1 set_size_cc(int_4 size);  logical_1 set_cells_cc(Hash_cell** cells_a);  // get methods  //  int_4 get_size_cc() {    return size_d;  }    int_4 get_num_cells_cc();  Hash_cell** get_cells_cc() {    return cells_d;  }   // hash table insert methods  //  Hash_cell* hash_insert_cc(Hash_cell* hash_cell);  // hash table lookup methods  //  Hash_cell* hash_lookup_cc(char_1* str) {    int_4 index = (int_4)0;    return hash_lookup_cc(str, index);  }    Hash_cell* hash_lookup_cc(char_1* str, int_4& index);    Hash_cell* hash_lookup_cc(int_4* vec, int_4 size) {    int_4 index = (int_4)0;    return (hash_lookup_cc(vec, size, index));  }  Hash_cell* hash_lookup_cc(int_4* vec, int_4 size, int_4& index);    //---------------------------------------------------------------------------  //  // private methods  //  //---------------------------------------------------------------------------private:  // hash table index method for string entry  //  int_4 hash_string_cc(char_1* str);   // hash table index method for vector entry  //  int_4 hash_vector_cc(int_4* vec, int_4 size); };// end of file//# endif

⌨️ 快捷键说明

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