pickzy.com

C  |  C++  |  Objective-C  |  VC++  |  Win32  |  MFC  |  Java  |  Php  |  Delphi  |  Visual Basic  |  .Net  |  Networking  |  General  |  Games  |  Jobs  |  Javascript  |  




Menu

pickSourcecode.com


        

 




 

Cpp > Programs

 

cpp node , SortedInsert , LLNode example

#include <iostream>
#include <list>
#include <string>
using namespace std;


class LLNode

{

public:

    LLNode(const string & data = "", LLNode * subList = NULL) 

        : myData(data), mySubList(subList) {}

    ~LLNode() {delete mySubList;}


    const string & GetFirstData() const {return myData;}


    
void SortedInsert(const string & data);
    bool isInList(const string & data) const;

    
int Count() const;
    
void Display(ostream & os) const;
    
void ReverseDisplay(ostream & os) const;
private:

    string myData;

    LLNode * mySubList;

};


void LLNode::SortedInsert(const string & data)
{

    
if (NULL == mySubList)
        mySubList = new LLNode(data);

    else 
if (data <= mySubList->GetFirstData())
        mySubList = new LLNode(data, mySubList);

    else

        mySubList->SortedInsert(data);

}


bool LLNode::isInList(const string & data) const

{

    
if (data == myData)
        return true;

    else 
if (NULL == mySubList)
        return false;

    else 

        return mySubList->isInList(data);

}


int LLNode::Count() const
{

    
if (NULL == mySubList)
        return 0;

    else 

        return 1 + mySubList->Count();

}


void LLNode::Display(ostream & os) const
{

    
if ("" != myData)
        os << myData << endl;

    
if (NULL != mySubList)
        mySubList->Display(os);

}


void LLNode::ReverseDisplay(ostream & os) const
{

    
if (NULL != mySubList)
        mySubList->ReverseDisplay(os);

    
if ("" != myData)
        os << myData << endl;

}


typedef LLNode SortedStringList;

int main()
{

    SortedStringList theList;

    theList.SortedInsert("Fred");

    theList.SortedInsert("Barney");

    theList.SortedInsert("Wilma");

    theList.SortedInsert("Betty");


    cout << "Display!  Count is " << theList.Count() << endl;

    theList.Display(cout);


    cout << "\nReverse Display!  Count is " << theList.Count() << endl;

    theList.ReverseDisplay(cout);


    return 0;

}

 
Privacy Policy | About Us