All pastes #209441 Raw Edit

Something

public cpp v1 · immutable
#209441 ·published 2006-10-19 04:50 UTC
rendered paste body
#include <iostream>using namespace std;//typedef fifonode* node;class fifo{	public:		fifo();		void enqueue(int);		int dequeue();        void print();		int length();    private:        struct fifonode        {            int data;            fifonode *next;        // Pointer to next node            fifonode()            {                data = -1;                next = NULL;            }        }        *head;        int l;};fifo::fifo(){    head = NULL;    l = 0;}void fifo::enqueue(int e){    fifonode *nnode = new fifonode;    nnode->data = e;    if(head==NULL)    {        head = nnode;    }    else    {        fifonode *t = head;        while(t->next != NULL)        {            t=t->next;        }        t->next = nnode;    }    l++;}int fifo::dequeue(){    if(head==NULL)    {        cout << "List is empty!\n";        return -1; // error    }    else    {        l--;        fifonode *t = head;        while(t->next != NULL)        {            if(t->next->next != NULL)            {                t=t->next;            }            else            {                int r = t->next->data;                t->next = NULL;                cout << "\nDequeued " << r << "\n\n";                return r;            }        }        int s = head->data;        cout << "\nDequeued head node " << s << "\n\n";        head = NULL;        return s;    }}int fifo::length(){    return l;}void fifo::print(){    if(head==NULL)    {        cout << "List is empty!\n";    }    else    {        cout << "Queue length: " << l << ".\n[-";        fifonode *t = head;        while(t->next!=NULL)        {            cout << t->data << "-";            t=t->next;        }        cout << t->data << "-]\n";    }}int main(){	fifo f;	f.enqueue(3);	f.enqueue(2);	f.enqueue(1);	f.enqueue(8);	f.enqueue(23);	f.enqueue(100);	f.enqueue(32);	f.enqueue(1);	f.print();	f.dequeue();	f.dequeue();	f.dequeue();	f.dequeue();	f.dequeue();	f.dequeue();	f.print();	f.dequeue();	f.dequeue();	f.print();	f.dequeue();	f.print();	return 0;}