C
|
C++
|
Objective-C
|
VC++
|
Win32
|
MFC
|
Java
|
Php
|
Delphi
|
Visual Basic
|
.Net
|
Networking
|
General
|
Games
|
Jobs
|
Javascript
|
Menu
Project Upload
Project Download
Articles
Programs
Search
Solution
pickSourcecode.com
Login
Register
About us
Contact us
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