Revision: 9027
Updated Code
at October 17, 2008 22:57 by itsok2kry
Updated Code
#include "LinkedList.h"
#include "LinkedNode.h"
template < class T >
LinkedList< T >::LinkedList()
{
size = 0;
}
template < class T >
void LinkedList< T >::add( T value )
{
// first set up our node
LinkedNode * node = new LinkedNode( this, firstNode, &value );
if( firstNode == NULL )
{
// this node is the first one in our list
firstNode = node;
}
//and our size got increased by one
size++;
}
//unnecessary function?
/* set the currentNode pointer to a new node
void LinkedList::setCurrentNode( int nodeNumber )
{
// start from the first node
LinkedNode * node = this->firstNode;
// then go through the links until we reach the node we want
for( int i = 0; i < nodeNumber; i++ )
{
node = node->next();
}
// set the node as the current node
this->currentNode = node;
}
*/
template < class T >
void LinkedList< T >::remove( T value )
{
// start at the first node
LinkedNode< T > * node = firstNode;
// go through the links until we find the value that matches
while( node->value() != value )
{
node = node->next();
}
//link over this node before we remove it
node->previous()->setNextNode( node->next() );
//now we can remove this node
delete node;
node = NULL;
//and our size just got decreased by one
size--;
}
template < class T >
void LinkedList< T >::removeByIndex( int index )
{
//start with the first node
LinkedNode< T > * node = firstNode;
//go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//now we have to link over this node
node->previous()->setNextNode( node->next() );
// remove the node
delete node;
node = NULL;
// and our size got decreased by one
size--;
}
template < class T >
T LinkedList< T >::get( int index )
{
// start with the first node
LinkedNode< T > * node = firstNode;
// go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//return the node's value
return *( node->getValue() );
}
template < class T >
int LinkedList< T >::getSize()
{
return size;
}
Revision: 9026
Updated Code
at October 17, 2008 19:21 by itsok2kry
Updated Code
class LinkedNode;
template < class T >
class LinkedList
{
private:
LinkedNode * firstNode; //the first node in our list
//LinkedNode * currentNode; //the node we're currently operating on
//void setCurrentNode( int nodeNumber );
int size;
public:
LinkedList();
void add( T value );
void remove( T value );
void remove( int index );
T get( int index );
};
template < class T >
LinkedList< T >::LinkedList()
{
size = 0;
}
template < class T >
void LinkedList< T >::add( T value )
{
// first set up our node
LinkedNode * node = new LinkedNode( this, firstNode, &value );
if( firstNode == NULL )
{
// this node is the first one in our list
firstNode = node;
}
//and our size got increased by one
size++;
}
//unnecessary function?
/* set the currentNode pointer to a new node
void LinkedList::setCurrentNode( int nodeNumber )
{
// start from the first node
LinkedNode * node = this->firstNode;
// then go through the links until we reach the node we want
for( int i = 0; i < nodeNumber; i++ )
{
node = node->next();
}
// set the node as the current node
this->currentNode = node;
}
*/
template < class T >
void LinkedList< T >::remove( T value )
{
// start at the first node
LinkedNode< T > * node = firstNode;
// go through the links until we find the value that matches
while( node->value() != value )
{
node = node->next();
}
//link over this node before we remove it
node->previous()->setNextNode( node->next() );
//now we can remove this node
delete node;
node = NULL;
//and our size just got decreased by one
size--;
}
template < class T >
void LinkedList< T >::remove( int index )
{
//start with the first node
LinkedNode< T > * node = firstNode;
//go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//now we have to link over this node
node->previous()->setNextNode( node->next() );
// remove the node
delete node;
node = NULL;
// and our size got decreased by one
size--;
}
template < class T >
T LinkedList< T >::get( int index )
{
// start with the first node
LinkedNode< T > * node = firstNode;
// go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//return the node's value
return *( node->getValue() );
}
Revision: 9025
Updated Code
at October 17, 2008 17:29 by itsok2kry
Updated Code
class LinkedNode;
template < class T >
class LinkedList
{
private:
LinkedNode * firstNode; //the first node in our list
LinkedNode * currentNode; //the node we're currently operating on
//void setCurrentNode( int nodeNumber );
int size = 0;
public:
//LinkedList( T * val );
void add( &T value );
void remove( &T value );
void remove( int index );
T * get( int index );
};
//template < class T >
//LinkedList< T >::LinkedList()
//{
// todo:
// set up the first node
//}
template < class T >
void LinkedList< T >::add( &T value )
{
// first set up our node
LinkedNode * node = new LinkedNode( this, this->firstNode, value );
if( firstNode == NULL )
{
// this node is the first one in our list
this->firstNode = node;
}
// this is the node we are currently working with
this->currentNode = node;
//and our size got increased by one
this->size++;
}
//unnecessary function?
/* set the currentNode pointer to a new node
void LinkedList::setCurrentNode( int nodeNumber )
{
// start from the first node
LinkedNode * node = this->firstNode;
// then go through the links until we reach the node we want
for( int i = 0; i < nodeNumber; i++ )
{
node = node->next();
}
// set the node as the current node
this->currentNode = node;
}
*/
template < class T >
void LinkedList< T >::remove( &T value )
{
// start at the first node
LinkedNode< T > * node = this->firstNode;
// go through the links until we find the value that matches
while( node->value() != value )
{
node = node->next();
}
//link over this node before we remove it
node->previous()->setNextNode( node->next() );
//now we can remove this node
delete node;
node = NULL;
//and our size just got decreased by one
this->size--;
}
template < class T >
void LinkedList< T >::remove( int index )
{
//start with the first node
LinkedNode< T > * node = this->firstNode;
//go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//now we have to link over this node
node->previous()->setNextNode( node->next() );
// remove the node
delete node;
node = NULL;
// and our size got decreased by one
this->size--;
}
template < class T >
T * LinkedList< T >::get( int index )
{
// start with the first node
LinkedNode< T > * node = this->firstNode;
// go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//return the node's value
return node->value();
}
Revision: 9024
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 17, 2008 16:37 by itsok2kry
Initial Code
#include "LinkedNode.cpp"
class LinkedNode;
template < class T >
class LinkedList
{
private:
LinkedNode * firstNode; //the first node in our list
LinkedNode * currentNode; //the node we're currently operating on
//void setCurrentNode( int nodeNumber );
int size = 0;
public:
//LinkedList( T * val );
void add( &T value );
void remove( &T value );
void remove( int index );
T * get( int index );
};
//template < class T >
//LinkedList< T >::LinkedList()
//{
// todo:
// set up the first node
//}
template < class T >
void LinkedList< T >::add( &T value )
{
// first set up our node
LinkedNode * node = new LinkedNode( this, this->firstNode, value );
if( firstNode == NULL )
{
// this node is the first one in our list
this->firstNode = node;
}
// this is the node we are currently working with
this->currentNode = node;
//and our size got increased by one
this->size++;
}
//unnecessary function?
/* set the currentNode pointer to a new node
void LinkedList::setCurrentNode( int nodeNumber )
{
// start from the first node
LinkedNode * node = this->firstNode;
// then go through the links until we reach the node we want
for( int i = 0; i < nodeNumber; i++ )
{
node = node->next();
}
// set the node as the current node
this->currentNode = node;
}
*/
template < class T >
void LinkedList< T >::remove( &T value )
{
// start at the first node
LinkedNode< T > * node = this->firstNode;
// go through the links until we find the value that matches
while( node->value() != value )
{
node = node->next();
}
//link over this node before we remove it
node->previous()->setNextNode( node->next() );
//now we can remove this node
delete node;
node = NULL;
//and our size just got decreased by one
this->size--;
}
template < class T >
void LinkedList< T >::remove( int index )
{
//start with the first node
LinkedNode< T > * node = this->firstNode;
//go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//now we have to link over this node
node->previous()->setNextNode( node->next() );
// remove the node
delete node;
node = NULL;
// and our size got decreased by one
this->size--;
}
template < class T >
T * LinkedList< T >::get( int index )
{
// start with the first node
LinkedNode< T > * node = this->firstNode;
// go through the nodes until we get to the one we want
for( int i = 0; i < index; i++ )
{
node = node->next();
}
//return the node's value
return node->value();
}
Initial URL
Initial Description
Not working.
Initial Title
Linked List (LinkedList.cpp)
Initial Tags
Initial Language
C++