Need a project done?

C++ Programming Developer

Search This Blog

Showing posts with label Linked List using Classes. Show all posts
Showing posts with label Linked List using Classes. Show all posts

Linked list using Classes

Linked List using Classes program is given below:
Insert at head.

1:  #include <iostream>  
2:  using namespace std;  
3:  //////////////////////////////////////////////////////////////////////////////////////////////////  
4:  //////////////////////////////////////////////////////////////////////////////////////////////////  
5:  template <class TYPE>  
6:  struct link{//Within this struct definition 'link' means link<TYPE>  
7:       TYPE data;  
8:       link* next;  
9:  };  
10:  //////////////////////////////////////////////////////////////////////////////////////////////////  
11:  //////////////////////////////////////////////////////////////////////////////////////////////////  
12:  template <class TYPE>  
13:  class ll{//ll => linked list  
14:       private:  
15:            link<TYPE> *first;  
16:       public:  
17:            ll();  
18:            void addItem(TYPE);  
19:            void display();  
20:  };  
21:  //////////////////////////////////////////////////////////////////////////////////////////////////  
22:  template <class TYPE>  
23:  ll<TYPE>::ll(){  
24:       first = NULL;  
25:  }  
26:  //////////////////////////////////////////////////////////////////////////////////////////////////  
27:  template <class TYPE>  
28:  void ll<TYPE>::addItem(TYPE n){  
29:       link<TYPE>* temp= new link<TYPE>;  
30:       temp->data = n;  
31:       temp->next = first;  
32:       first = temp;  
33:  }  
34:  //////////////////////////////////////////////////////////////////////////////////////////////////  
35:  template <class TYPE>  
36:  void ll<TYPE>::display(){  
37:       link<TYPE>* p = first;  
38:       for (; p!= NULL; p=p->next){  
39:            cout << p->data << endl;  
40:       }  
41:  }  
42:  //////////////////////////////////////////////////////////////////////////////////////////////////  
43:  //////////////////////////////////////////////////////////////////////////////////////////////////  
44:  //template <class TYPE>  
45:  int main(){  
46:       ll<char> l;  
47:       char n;  
48:       do{  
49:            cout << "NUMBER: (n to exit)";          cin >> n;  
50:            l.addItem(n);  
51:       }  
52:       while (n!='n');  
53:       l.display();  
54:       return 0;  
55:  }  

Linked List using Classes


Linked List using Classes program is given below:

1:  #include <iostream>  
2:  using namespace std;  
3:  //////////////////////////////////////////////////////////////////////////////////////////////////  
4:  //////////////////////////////////////////////////////////////////////////////////////////////////  
5:  template <class TYPE>  
6:  struct link{  
7:       TYPE data;  
8:       link* next;  
9:  };  
10:  //////////////////////////////////////////////////////////////////////////////////////////////////  
11:  //////////////////////////////////////////////////////////////////////////////////////////////////  
12:  template <class TYPE>  
13:  class linkList{  
14:  private:  
15:       link<TYPE>* first;  
16:  public:  
17:       linkList()  
18:       { first = NULL; }  
19:       void addItem(TYPE d);  
20:       void display();  
21:  };  
22:  //////////////////////////////////////////////////////////////////////////////////////////////////  
23:  //////////////////////////////////////////////////////////////////////////////////////////////////  
24:  template <class TYPE>  
25:  void linkList<TYPE>::addItem(TYPE d){  
26:       link<TYPE> *temp = new link<TYPE>;  
27:       temp->data = d;  
28:       temp->next = NULL;  
29:       if (first == NULL){  
30:            first = temp;  
31:       }  
32:       else{  
33:            temp->next = first;  
34:            first = temp;  
35:       }  
36:  }  
37:  //////////////////////////////////////////////////////////////////////////////////////////////////  
38:  template <class TYPE>  
39:  void linkList<TYPE>::display(){  
40:       link<TYPE> *p = first;  
41:       for (int i = 0; p!=NULL; p = p->next){  
42:            cout << p->data << endl;  
43:       }  
44:  }  
45:  //////////////////////////////////////////////////////////////////////////////////////////////////  
46:  //////////////////////////////////////////////////////////////////////////////////////////////////  
47:  int main(){  
48:       linkList<double> l;//Here you can write char, int, etc.  
49:       char opt;  
50:       do{  
51:            cout << "Number: ";          int n;          cin >> n;  
52:            l.addItem(n);  
53:            cout << "Do you want to insert any other item? (y/n) ";     cin >> opt;  
54:       }  
55:       while (opt == 'y');  
56:       l.display();  
57:       return 0;  
58:  }  
"Don't let anyone ever make you feel like you don't deserve what you want."