123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
#include<iostream> using namespace std; class List { int data; int size; List *next; List *head; public: List():next(NULL),head(NULL),size(NULL){} bool IsEmpty(); int Size(); void Insert(); void Remove(); void Display(); }; bool List::IsEmpty() { if(head==NULL) return true; return false; } int List::Size() { if(List::IsEmpty()) return NULL; return size; } void List::Insert() { List *nn = new List(); int num; List *temp; cout<<"Enter Number = "; cin>>num; if(List::IsEmpty()) { nn->data = num; nn->next = NULL; head = nn; size++; return; } temp = head; while(temp->next!=NULL) { temp = temp->next; } nn->data = num; nn->next = NULL; temp->next = nn; size++; } void List::Remove() { if(List::IsEmpty()) { cout<<"Linked List is Empty..."<<endl; return; } List *pre,*cur; pre = head; cur = head->next; if(pre->next==NULL) { head = NULL; return; } while(cur->next!=NULL) { pre = cur; cur = cur->next; } delete cur; pre->next = NULL; } void List::Display() { if(List::IsEmpty()) { cout<<"Linked List is Empty..."<<endl; return; } List *temp; temp = head; while(temp!=NULL) { cout<<temp->data<<endl; temp = temp->next; } } void main() { List l; l.Insert(); cout<<endl; l.Insert(); cout<<endl; l.Display(); cout<<endl; l.Remove(); l.Display(); system("pause"); }
123456789
void List::Save(string filename) { ofstream os(filename.c_str()); for (List *temp = head; temp; temp = temp->next) { os << temp->data << endl; } }