#include<iostream.h> class linklist{ private: struct node { int data; node *link; }*p; public: linklist(); void add(int num); void display(); int count(); void del(int num); ~linklist(); }; linklist::linklist() { p=NULL; } void linklist::add(int num) { node *r,*temp=p; r=new node; r->data=num; if(p==NULL||p->data>num) { p=r; p->link=temp; } else { while(temp!=NULL) { if(temp->data<=num&&(temp->link->data>num||temp->link==NULL)) { r->link=temp->link; temp->link=r; return ; } temp=temp->link; } } }  void linklist::display() { node *temp=p; cout<<endl; while(temp!=NULL) { cout<<temp->data<<" "; temp=temp->link; } } linklist::~linklist() { node *q; while(p!=NULL) { q=p->link; delete p; p=q; } linklist::reverse() {     struct node *p = first,                 *q = NULL,                 *r;     while (p != NULL)     {         r = q;         q = p;         p = p->link;         q->link = r;     }     q = first; } } void main() { linklist l; l.add(5); l.add(1); l.add(6); l.add(4); l.add(7); cout<<"\n elements in the linked list:"; l.display(); l.reverse(); cout<<"printf("elements after reverse"; l.display(); }