Sponsored Content
Full Discussion: Hash Table
Top Forums Programming Hash Table Post 302924001 by Chubler_XL on Wednesday 5th of November 2014 03:57:06 PM
Old 11-05-2014
Quote:
Originally Posted by totoro125
Thanks a lot guys. Here is the full code, I was looking at:
And would anyone know how to write a function to give the memory back in statetab? As in clean up statetab when it is done
Here is the cleanup:

Code:
void cleanup()
{
    int h;
    State *sp = NULL ;
    Suffix *suf, *t;

    for(h = 0; h < NHASH; h++) {
        for (sp = statetab[h]; sp != NULL; sp = statetab[h]) {
            for(suf = sp->suf; suf != NULL; suf = t) {
                t = suf->next;
                free(suf);
            }
            statetab[h]=sp->next;
            free(sp);
        }
    }
}

EDIT:

The lookup function is still not working properly the comment "found it" seems to imply the prefix was found however the preceding code calls break on the first string the doesn't match.

The whole prefix array list part is fairly strange. What are you trying to achieve with prefix? I feel things would be much easier and consistent if you used another linked list for prefix rather that an array and the kludgy memmove() calls.

If you could give me a description on how this prefix/suffix relationship is supposed to work I'm sure I could suggest a better structure to store this data. Once we get the structure right it will be much easier to get the add, delete and lookup routines done.

Last edited by Chubler_XL; 11-05-2014 at 05:58 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
Hash::Case::Upper(3pm)					User Contributed Perl Documentation				    Hash::Case::Upper(3pm)

NAME
Hash::Case::Upper - native hash with enforced lower cased keys INHERITANCE
Hash::Case::Upper is a Hash::Case is a Tie::StdHash SYNOPSIS
use Hash::Case::Upper; tie my(%uchash), 'Hash::Case::Upper'; $uchash{StraNGeKeY} = 3; print keys %uchash; # STRANGEKEY DESCRIPTION
Hash::Case::Upper extends Hash::Case, which lets you play various trics with hash keys. In this implementation, the fake hash is case insensitive and the keys stored in upper-case. METHODS
Constructors $obj->addHashData(HASH) See "Constructors" in Hash::Case $obj->addPairs(PAIRS) See "Constructors" in Hash::Case $obj->setHash(HASH) See "Constructors" in Hash::Case tie(HASH, 'Hash::Case::Upper', [VALUES,] OPTIONS) Define HASH to have only upper cased keys. The hash is initialized with the VALUES, specified as ref-array or ref-hash. Currently, there are no OPTIONS defined. SEE ALSO
This module is part of Hash-Case distribution version 1.02, built on March 09, 2012. Website: http://perl.overmeer.net/hash-case/ LICENSE
Copyrights 2002-2003,2007-2012 by Mark Overmeer. For other contributors see ChangeLog. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html perl v5.14.2 2012-03-09 Hash::Case::Upper(3pm)
All times are GMT -4. The time now is 07:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy