A Nice C++ Linked List
I had reason to brush up on my C/C++ skills a bit and did something I've wanted to do for some time: implemented a nice encapsulated linked list. Read more for the source.
#include <iostream>
#include <stdarg.h>
typedef unsigned char boolean;
class LinkedList {
private:
LinkedList *m_start, *m_curr, *m_next;
int m_data;
public:
/*Constructors*/
LinkedList();
LinkedList(LinkedList* );
/*Operations*/
void insert(int);
void insertMultiple(int count, ...);
int getData();
int getDataEl();
void setData(int);
LinkedList* getNext();
void setNext(LinkedList* );
/*Movement*/
void start();
void next();
void end();
void reset();
/*Boolean*/
boolean isEnd();
boolean isEmpty();
};
LinkedList::LinkedList() {
m_curr = m_start = this;
m_next = NULL;
}
LinkedList::LinkedList(LinkedList* start) {
m_start = start;
m_next = NULL;
}
void LinkedList::insert(int el) {
m_curr->setData(el);
m_curr->setNext(new LinkedList(m_start));
m_curr = m_curr->getNext();
}
void LinkedList::insertMultiple(int count, ...) {
va_list ap;
va_start(ap, count);
while(count--)
insert(va_arg(ap, int));
va_end(ap);
}
int LinkedList::getDataEl() {
return m_data;
}
int LinkedList::getData() {
return m_curr->getDataEl();
}
void LinkedList::setData(int el) {
m_data = el;
}
LinkedList* LinkedList::getNext() {
return m_next;
}
void LinkedList::setNext(LinkedList* link) {
m_next = link;
}
void LinkedList::next() {
m_curr = m_curr->getNext();
}
boolean LinkedList::isEnd() {
return m_curr->getNext() == NULL ? 1 : 0;
}
void LinkedList::reset() {
m_curr = m_start;
}
int main() {
LinkedList l;
l.insertMultiple(3, 5, 6, 7);
for(l.reset(); !l.isEnd(); l.next())
std::cout << l.getData();
return 0;
}
Here's a doubly linked list version:
#include <iostream>
#include <stdarg.h>
typedef unsigned char boolean;
class LinkedList {
private:
LinkedList *m_curr, *m_next, *m_prev;
int m_data;
public:
/*Constructors*/
LinkedList();
LinkedList(LinkedList* );
/*Operations*/
void insert(int);
void insertMultiple(int count, ...);
/*Get Setters*/
int getData();
int getDataEl();
void setData(int);
LinkedList* getPrev();
LinkedList* getNext();
void setNext(LinkedList* );
/*Movement*/
void reset();
void prev();
void next();
void end();
/*Boolean*/
boolean isBeginning();
boolean isEnd();
boolean isEmpty();
};
LinkedList::LinkedList() {
m_curr = this;
m_prev = NULL;
m_next = NULL;
}
LinkedList::LinkedList(LinkedList* prev) {
m_prev = prev;
m_next = NULL;
}
void LinkedList::insert(int el) {
while (m_curr->getNext() != NULL)
m_curr = m_curr->getNext();
m_curr->setData(el);
m_curr->setNext(new LinkedList(m_curr));
}
void LinkedList::insertMultiple(int count, ...) {
va_list ap;
va_start(ap, count);
while(count--)
insert(va_arg(ap, int));
va_end(ap);
}
int LinkedList::getDataEl() {
return m_data;
}
int LinkedList::getData() {
return m_curr->getDataEl();
}
void LinkedList::setData(int el) {
m_data = el;
}
LinkedList* LinkedList::getPrev() {
return m_prev;
}
LinkedList* LinkedList::getNext() {
return m_next;
}
void LinkedList::setNext(LinkedList* link) {
m_next = link;
}
void LinkedList::reset() {
m_curr = this;
}
void LinkedList::next() {
m_curr = m_curr->getNext();
}
void LinkedList::prev() {
m_curr = m_curr->getPrev();
}
boolean LinkedList::isEnd() {
return m_curr->getNext() == NULL ? 1 : 0;
}
boolean LinkedList::isBeginning() {
return m_curr == NULL ? 1 : 0;
}
boolean LinkedList::isEmpty() {
return m_curr->getNext() == m_curr->getPrev() ? 1 : 0;
}
int main() {
LinkedList l;
l.insertMultiple(4, 5, 6, 7, 8);
for(; !l.isBeginning(); l.prev())
std::cout << l.getData();
return 0;
}
free swinger exotic
Submitted by Drugan888 on Fri, 2008-09-26 12:53.
free swinger exotic stories
sexy swinger couple stories
stories swinger party
stories swinger sex
swinger personal stories
porn teen titans
teen titans porn
pink porn
porn forum
forum porn
vanity shemale porn star
vanity transexual porn
vanity transsexual porn
varda porn
down loading porn
down loading porn with davo
down loading pornography
vassar porn
down low porn
down on the farm porn
vcd porno sma bandung
70s porn stars
70s porn movies
70s porn
vedete porno
vega vixen porn
vegas porn star escorts
vegas pornstar escorts
70's porno music ringtones
70's porn stars
70 year old porn
vegetarian porn
veggie porn
down under porn
veil porn
free full length porn videos
free lesbian porn videos
free gay porn videos
free teen porn videos
free amateur porn videos
free online porn videos
free long porn videos
free porn flash videos
porn videos free
free homemade porn videos
free hardcore porn videos
free porn movies
free full length porn movies
free gay porn movies
free teen porn movies
free full porn movies
porn movies free
free online porn movies
free long porn movies
free latin porn movies
free mature porn movies
free hardcore porn movies
free porn clips
free porn video clips
free porn movie clips
porn clips free
free gay porn clips
free lesbian porn clips
free online porn clips
free teen porn clips
free porn videos trailers clips
free streaming porn clips
free amature porn clips
free gay porn
free gay porn movies
free gay porn videos
free gay porn clips
free gay porn video
free 15 minutes gay porn
free gay black porn
free black gay porn
gay porn free
free gay porn sites
free gay porn pic post
free young gay porn
free gay porn galleries
free gay porn pics
free porn videos
free porn video
free massage porn video
free full length porn videos
free lesbian porn videos
free gay porn videos
free teen porn videos
free amateur porn videos
free online porn videos
free long porn videos
free porn flash videos
porn videos free
free homemade porn videos
free hardcore porn videos
free porn movies
free full length porn movies
free gay porn movies
free teen porn movies
free full porn movies
porn movies free
free online porn movies
free long porn movies
free latin porn movies
free mature porn movies
free hardcore porn movies
free porn clips
free porn video clips
free porn movie clips
porn clips free
free gay porn clips
free lesbian porn clips
free online porn clips
free teen porn clips
free porn videos trailers clips
free streaming porn clips
free amature porn clips
free gay porn
free gay porn movies
free gay porn videos
free gay porn clips
free gay porn video
free 15 minutes gay porn
free gay black porn
free black gay porn
gay porn free
free gay porn sites
free gay porn pic post
free young gay porn
free gay porn galleries
free gay porn pics
free porn videos
free porn video
free massage porn video
|
TopicsRecent blog posts
|