pointers and linked list

P

Pats

Hello everyone I'm new here...

Just needed help on pointers and linked list how to implement
these...? What are the guidelines... and a sample program using
these.. Thanks!!!:)
 
A

Allan Bruce

Pats said:
Hello everyone I'm new here...

Just needed help on pointers and linked list how to implement
these...? What are the guidelines... and a sample program using
these.. Thanks!!!:)

For a basic linked list you need to specify a basic node class. This should
have a pointer to some data, and methods for removing/inserting a new node
(at the head or tail only for a single-linked list or at any point for a
double-linked list).

To store the data, either use a template, or my preferred solution is to
specify an abstract class with no members which must be inherited from to
store data in the list. The data would be stored in the node as a pointer
to this abstract class.

here is a basic interface (untested)

class DataItem
{
public:
DataItem(){}
virtual ~DataItem(){}
};

class DoubleListNode
{
protected:
ListNode(DataItem *xiData);
virtual ~ListNode();

DataItem *mData;
DoubleListNode *mNextNode;
DoubleListNode *mPrevNode;
};

class DoubleList
{
public:
DoubleList();
virtual ~DoubleList();

DataItem *Insert(DataItem *xiNewItem);
DataItem *Remove(DataItem *xiNewItem);

// any other interface required

protected:
unsigned long mNumNodes;
DoubleListNode *mHead;
DoubleListNode *mTail;
};



I would also add some form of iterator to the list, but I`ll leave something
for you to do!
To make this List store integers, make a new DataItem like this:

class IntDataItem : public DataItem
{
IntDataItem(int xiInt) {mInt = xiInt;}
virtual ~IntDataItem();

int GetInt() {return mInt;}

private:
int mInt;
};


Hope this helps
Allan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top