Creating an array of linked lists -- seg fault :'(

Please support our C++ advertiser: Intel Parallel Studio Home
Thread Solved

Join Date: Oct 2009
Posts: 7
Reputation: crystality is an unknown quantity at this point 
Solved Threads: 0
crystality crystality is offline Offline
Newbie Poster

Creating an array of linked lists -- seg fault :'(

 
0
  #1
23 Days Ago
Hello! I'm getting this infamous problem: Segmentation fault (core dumped). Not sure what's going on. ='( Please help! I've red-ed and bolded the parts that I think are problems.

In the following class, I'm trying to create a class called 'BucketHashTable'. I want to create an array of known size (size 52), which contains linked lists. (So I'm trying to create 52 linked lists.) In each of the linked lists, I want to be able to insert an unknown # of objects called 'GrabStuff'. Later, I will want to sort objects inside each individual linked list, but I'm not there yet.

By the way, that class is trying to do a sort-of 'hash' with word inside the 'GrabStuff' object. I'm 'hashing' the first letter of the word, and then putting the corresponding object into appropriate linked list. =| If that makes sense.

Relevant links/files: LinkedList.cpp | LinkedList.h | My entire code so far
Other included files: QuadraticProbing.cpp | QuadraticProbing.h | string.cpp | mystring.h

class BucketHashTable
{
	public:
		BucketHashTable();
		~BucketHashTable();
		void insert(GrabStuff);
	private:
		List <GrabStuff> *bucket[];
};

BucketHashTable::BucketHashTable()
{
	for(int i = 0; i < 52; i++)
		bucket[i] = new List<GrabStuff>();
}

BucketHashTable::~BucketHashTable() {}

void BucketHashTable::insert(GrabStuff g)
{
	int ascii = (int)g.getWord()[0];
	int index = 0;
	if (ascii <= 90)		// if uppercase
		index = ascii%65;
	else 				// if lowercase
		index = ascii%97;
	ListItr<GrabStuff> myIterator = bucket[index]->zeroth();
	bucket[index]->insert(g, myIterator);
}

Thank you very much! I hope it's not too confusing to read. =\ Thanks!
Last edited by crystality; 23 Days Ago at 1:47 am.
Reply With Quote Quick reply to this message  
Join Date: Dec 2007
Posts: 113
Reputation: abhi_elementx is an unknown quantity at this point 
Solved Threads: 6
abhi_elementx's Avatar
abhi_elementx abhi_elementx is offline Offline
Junior Poster
 
1
  #2
23 Days Ago
try :
  1. private:
  2. List <GrabStuff> *bucket[];

instead of:
  1. List <GrabStuff> bucket[];
PEACE !
Reply With Quote Quick reply to this message  
Join Date: Oct 2009
Posts: 7
Reputation: crystality is an unknown quantity at this point 
Solved Threads: 0
crystality crystality is offline Offline
Newbie Poster
 
0
  #3
23 Days Ago
@ abhi_elementx: Thanks for your reply, but my code *does* use

  1. private:
  2. List <GrabStuff> *bucket[];

I've tried the other way too. Still doesn't work. =\ Thanks though...
Last edited by crystality; 23 Days Ago at 1:55 am.
Reply With Quote Quick reply to this message  
Join Date: Dec 2007
Posts: 113
Reputation: abhi_elementx is an unknown quantity at this point 
Solved Threads: 6
abhi_elementx's Avatar
abhi_elementx abhi_elementx is offline Offline
Junior Poster
 
1
  #4
23 Days Ago
specify a size while declaring the array:
  1. List <GrabStuff> *bucket[52];

you can later 'push' elements to the end of the list.
PEACE !
Reply With Quote Quick reply to this message  
Join Date: Oct 2009
Posts: 7
Reputation: crystality is an unknown quantity at this point 
Solved Threads: 0
crystality crystality is offline Offline
Newbie Poster
 
0
  #5
23 Days Ago
YES! It works! Wow, thank you, abhi_elementx.
Reply With Quote Quick reply to this message  
Join Date: Dec 2007
Posts: 113
Reputation: abhi_elementx is an unknown quantity at this point 
Solved Threads: 6
abhi_elementx's Avatar
abhi_elementx abhi_elementx is offline Offline
Junior Poster
 
1
  #6
23 Days Ago
No probs
PEACE !
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC