Sponsored Content
Full Discussion: Hash Table
Top Forums Programming Hash Table Post 302923265 by DGPickett on Friday 31st of October 2014 03:05:04 PM
Old 10-31-2014
Good point! Been lazing arund OO land so long! Smilie If NPREF is a macro, maybe hash() uses it, too. Classic C trick is to over-allocate the char*[] by 1 so there is room for a null pointer at the end, like char *argv[], reminiscent of null term string.

Last edited by DGPickett; 10-31-2014 at 04:10 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Creating a hash table using shell script

Hi, For one of my programs, I need to have a hashtable as in Perl. Unfortunately shell doesnt provide any variable like hash. Is there anyway/trick, I could implement a hash in shell (using shell scripts/sed/awk). JP (2 Replies)
Discussion started by: jyotipg
2 Replies

2. Programming

hash table implementations in C Language

Hello List, Iam searching for a solution where i can use hash based searching . In Detail , I have linked list which will be dynamically increasing . I need a best searching mechanisim such a way that it can take only one itereation . Right now iam using linear search which is taking... (11 Replies)
Discussion started by: vlrk
11 Replies

3. Programming

Creating a Hash Table

Dear Friends, I want to create a hash table using the standard Glib header (if possible) so that I can store a structure and keep the hash key(search key) based on a string. Any example code would be great since I am not able to get the main idea. best regards Skull (4 Replies)
Discussion started by: callmetheskull
4 Replies

4. UNIX for Dummies Questions & Answers

nested hash table

Hi, I have a nested hash table say for example as follows: %coins = ( 1 => { "Quarter"=>25, "Dime"=>10, "Nickel"=>5, }, 2 => { "asd"=>34, "qwe"=>45, ... (0 Replies)
Discussion started by: arthi
0 Replies

5. Shell Programming and Scripting

how to import external HASH table in PERL???

hello, I am creating a HASH table using file1.pl :- I want to retrieve the content of the hash table created above from another file named file2.pl :- The problem is that if I separate like this into 2 files.Then it says that HASH table is not created.So can you please tell me how to... (2 Replies)
Discussion started by: nsharath
2 Replies

6. UNIX for Advanced & Expert Users

distributed hash table operations(GET,PUT,TRANSFER) implementation

Hi, i want to implement hash table (put, get and transfer operations) using c in unix. so give some nice infromation on how to write my code. (1 Reply)
Discussion started by: kaleab
1 Replies

7. Programming

Hash table

Hi, I hope someone can help me with the following prob.. I need to implement a hashtable whose KEYs are strings and VLAUEs are again hashtables. ie key - is a string and value -is another hashtable . So.... how am I supposed to be implementing my nested hashtable? Thanks in advance (1 Reply)
Discussion started by: andrew.paul
1 Replies

8. UNIX for Dummies Questions & Answers

Hash Table like implementation in unix

Hi all, I just downloaded this example from the net. I was looking around for a hash table like implementation in unix when I came across this. ARRAY=( "cow:moo" "dinosaur:roar" "bird:chirp" "bash:rock" ) for animal in ${ARRAY} ; do KEY=${animal%%:*} ... (8 Replies)
Discussion started by: anindyabecs
8 Replies

9. Shell Programming and Scripting

Return a hash table from a sub routine

hello, i am new to scripting and would like to know how to return a hash table from a sub routine. i tried the following, my %hash_function = (); hash_function = &return_hash(); sub return_hash { my %hash = (); ///populate the hash return %hash; } but it dosent seem to... (1 Reply)
Discussion started by: hemalathak10
1 Replies

10. Shell Programming and Scripting

Need to print hash of hash in table format

Hi, I have a hash of hash where it has name, activities and count i have data like this - $result->{$name}->{$activities} = $value; content of that are - name - robert tom cat peter activities - running, eating, sleeping , drinking, work i need to print output as below ... (3 Replies)
Discussion started by: asak
3 Replies
hsearch(3)						     Library Functions Manual							hsearch(3)

NAME
hsearch, hcreate, hdestroy, hsearch_r, hcreate_r, hdestroy_r - Manage hash tables LIBRARY
Standard C Library (libc) SYNOPSIS
#include <search.h> ENTRY *hsearch( ENTRY item, ACTION action); int hcreate( size_t nel); void hdestroy(void); int hsearch_r( ENTRY item, ACTION action, ENTRY **target, struct hsearch_data *hsearch_data); int hcreate_r( size_t nel, struct hsearch_data *hsearch_data); void hdestroy_r( struct hsearch_data *hsearch_data); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: hsearch(), hcreate(), hdestroy(): XSH4.2 Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Identifies a structure of the type ENTRY as defined in the search.h header file. It contains two pointers: Points to the comparison key string. Points to any other data associated with the char *key parameter. Pointers to types other than char should be cast as char *. Specifies a value for an ACTION enum type, which indicates what is to be done with an item key when it cannot be found in the hash table. The following two actions can be specified for this parameter: Enter the key specified by the item parameter into the hash table at the appropriate place. When the table is full, a null pointer is returned. Do not enter the item key into the table, but return a null pointer when an item key cannot be found in the hash ta- ble. Specifies an estimate of the maximum number of entries that the hash table will contain. Under some circumstances, the hcre- ate() function may make the hash table larger than specified to obtain mathematically favorable conditions for access to the hash table. Points to the item actually found. Consists of data for the hash table. DESCRIPTION
The hsearch(), hcreate(), and hdestroy() functions are used to manage hash table operations: The hcreate() function initializes the hash table. You must call the hcreate() function before calling the hsearch() function. The hsearch() function searches a hash table. It returns a pointer into a hash table that indicates where a given entry can be found. The hsearch() function uses open addressing with a hash function. The hdestroy() function deletes the hash table. This allows you to start a new hash table because only one table may be active at a time. After the call to hdestroy(), the hash table data should no longer be considered accessible. [Tru64 UNIX] The hsearch_r(), hcreate_r(), and hdestroy_r() functions are reentrant versions of hsearch(), hcreate(), and hdestroy(). Upon successful completion, the hsearch_r() function returns 0 (zero). Upon failure, it returns -1 and sets errno. [Tru64 UNIX] Threads can share hash tables by using the hcreate_r, hsearch_r, and hdestroy_r functions with a common hsearch_data value. To prevent corruption of data when sharing a hash table, locks must be used around calls that use the common hsearch_data value. RETURN VALUES
The hsearch() function returns a null pointer when the action parameter is FIND and the key pointed to by item cannot be found or when the specified action is ENTER and the hash table is full. Upon successful completion, the hcreate() function returns a nonzero value. Otherwise, when sufficient space for the table cannot be allo- cated, the hcreate() function returns a value of 0 (zero). ERRORS
If any of the following conditions occur, the hsearch() function sets errno to the corresponding value: The table is full. [Tru64 UNIX] The search failed. RELATED INFORMATION
Functions: bsearch(3), lsearch(3), tsearch(3), qsort(3) Standards: standards(5) delim off hsearch(3)
All times are GMT -4. The time now is 09:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy