10-30-2014
How does it work? It words badly, if at all.
That is some seriously broken code. Even if the match code is fixed, it will only examine the first State *sp pointer because of the break statement in the outer for loop.
And then, if create is non-zero and the upper loops didn't find a match at the first node, it will stuff the passed-in data onto the hash table even if it already exists further down the linked list.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
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
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
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
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
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
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
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
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
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
LEARN ABOUT CENTOS
libtar_hash_new
libtar_hash_new(3) C Library Calls libtar_hash_new(3)
NAME
libtar_hash_new, libtar_hash_free, libtar_hash_next, libtar_hash_prev, libtar_hash_getkey, libtar_hash_search, libtar_hash_add, lib-
tar_hash_del - hash table routines
SYNOPSIS
#include <libtar.h>
libtar_hash_t *libtar_hash_new(int num, int (*hashfunc)());
void libtar_hash_free(libtar_hash_t *h, void (*freefunc)());
int libtar_hash_next(libtar_hash_t *h, libtar_hashptr_t *hp);
int libtar_hash_prev(libtar_hash_t *h, libtar_hashptr_t *hp);
int libtar_hash_search(libtar_hash_t *h, libtar_hashptr_t *hp, void *data, int (*matchfunc)());
int libtar_hash_getkey(libtar_hash_t *h, libtar_hashptr_t *hp, void *data, int (*matchfunc)());
int libtar_hash_add(libtar_hash_t *h, void *data);
int libtar_hash_del(libtar_hash_t *h, libtar_hashptr_t *hp);
DESCRIPTION
The libtar_hash_new() function creates a new hash with num buckets and using hash function pointed to by hashfunc. If hashfunc is NULL, a
default hash function designed for 7-bit ASCII strings is used.
The libtar_hash_free() function deallocates all memory associated with the hash structure h. If freefunc is not NULL, it is called to free
memory associated with each node in the hash.
The libtar_hash_next() and libtar_hash_prev() functions are used to iterate through the hash. The libtar_hashptr_t structure has two
fields: bucket, which indicates the current bucket in the hash, and node, which is a pointer to the current node in the current bucket. To
start at the beginning or end of the hash, the caller should initialize hp.bucket to -1 and hp.node to NULL.
The libtar_hash_search() function searches iteratively through the hash h until it finds a node whose contents match data using the match-
ing function matchfunc. Searching begins at the location pointed to by hp.
The libtar_hash_getkey() function uses the hash function associated with h to determine which bucket data should be in, and searches only
that bucket for a matching node using matchfunc. Searching begins at the location pointed to by hp.
The libtar_hash_add() function adds data into hash h.
The libtar_hash_del() function removes the node referenced by hp.
RETURN VALUE
The libtar_hash_new() function returns a pointer to the new hash structure, or NULL on error.
The libtar_hash_next() and libtar_hash_prev() functions return 1 when valid data is returned, and 0 at the end of the hash.
The libtar_hash_getkey() and libtar_hash_search() functions return 1 when a match is found, or 0 otherwise.
The libtar_hash_add() function returns 0 on success, or -1 on error (and sets errno).
The libtar_hash_del() function returns 0 on success, or -1 on error (and sets errno).
SEE ALSO
libtar_list_new(3)
University of Illinois Jan 2000 libtar_hash_new(3)