All pastes #927290 Raw Edit

CharList

public text v1 · immutable
·published 2008-03-04 04:40 UTC
rendered paste body

// CharList.h

class CharListNode;

class CharList
{
  public:
    CharList();
    bool isEmpty();
    void addFirst(char c);
    char getFirst();
    char removeFirst();
    void addLast(char c);
    char getLast();
    char removeLast();
    void display();
  private:
    CharListNode* head;
    CharListNode* tail;
};
_______________________________________________________________________________________________________________________________________

// CharList.C



#include <iostream>

using std::cout;

using std::endl;



#include "CharList.h"



class CharListNode

{

  friend class CharList;



  private:

    char data;

    CharListNode* next;

    

    CharListNode(char c, CharListNode* n)

    : data(c), next(n)

    { }

};



CharList::CharList()

{

  head = NULL;

  tail = NULL;

}



bool CharList::isEmpty()

{

  return (head == NULL);

}


/*
 * CharListNode* n = head;
 * head = new CharListNode(c, n);
 *
 */

void CharList::addFirst(char c)

{

  // TODO

}



char CharList::getFirst()

{

  assert(head != NULL);

  return head->data;

}



/*
 * CharListNode* n = head;
 * head = n->next
 */

char CharList::removeFirst()

{

  // TODO

}



/*
 * CharListNode*n = tail;
 * tail = new CharLIstNode(c, n);
 */

void CharList::addLast(char c)

{

  // TODO

}



char CharList::getLast()

{

  assert(tail != NULL);

  return tail->data;

}



/*
 *  CharListNode* n = head;
 *  head = n->next;
 *
 */

char CharList::removeLast()

{

  // TODO

}



void CharList::display()

{

  cout << "List: ";

  CharListNode* current = head;

  while(current != NULL)

  {

    cout << current->data;

    current = current->next;

  }

  cout << endl;

}