I'm messing around with linked lists, cause I've just learned (mostly ) how to use singly linked lists. I NEED to learn doubly linked ones sometimes soon. Anyway, I decided to go off and experiment, and see if I can do doubly linked lists. Well, I haven't totally implemented the doubly part FULLY yet, but I will. After I solve this. How do I get my p node (i.e. the thingy that traverses the list) to start at the beginning? I use MSVC6 on Win98. Here's the code:
Thanks in advance,Code:#include <iostream.h> #include <dos.h> #include <conio.h> #include <stdlib.h> void New(int v); class node { public: node(node *pre); int x; node *next; node *prev; private: }; node::node(node *pre) { *prev = *pre; } void main() { unsigned long int n[2000]; unsigned int l; int ch; n[0] = 0; n[1] = 1; l = 2; clrscr(); cout << "This is a doubly linked list test.\nBy: Scott A. Hand\n"; node *root(NULL); node *p(NULL); root->prev = NULL; do { clrscr(); cout << flush << "Menu:\n[1] New\n[2] View All\n[3] Quit\n> "; cin >> ch; if (ch == 3) { clrscr(); cout << "This program was made by: Scott A. Hand, goodbye.\nPress any key to quit...\n"; getch(); exit(0); } if (ch == 1) { root->next = new node(root); cout << "Enter value: "; cin >> root->x; root->next = NULL; } if (ch == 2) { p = NULL; p = root; do { cout << p->x << endl; } while (!p->next == NULL); getch(); } } while (ch != 3); }
Scott