+ All Categories
Home > Technology > Link list

Link list

Date post: 11-May-2015
Category:
Upload: syeda-javeria
View: 461 times
Download: 2 times
Share this document with a friend
Description:
Singly Linked list implementation in Stacks,Linear Queue and Circular Queue
Popular Tags:
110
Transcript
  • 1.LINKED LISTPRESENTED BY:Javeria (11-arid-3303) MIT-3 University Institute of Information Technology, Rawalpindi (UIIT, UAAR)

2. INTRODUTION Link List is an ordered collection of elementscalled nodes. The nodes are connected bypointer. Each node has two parts1) Data Field Stores data of the node. Same datatype2) Link Field Store address of the next node( i.e. Link to the next node) NEXT NODE :DATA 3. ARRAY VS. LINK LIST AspectArrayLink ListSize Fixed size. Grow and contract according to insertions and deletions.Storage Static: Its location is Dynamic: Its node iscapacityallocated during compile located during run time.time.Accessing the Direct or random access Sequential accesselement method.method. Specify the array index or Traverse starting from thesubscript. first node in the list by pointer.4 4. SINGLY LINK LISTIMPLEMENTATION INSTACKS:ABC topIMPLEMENTATION IN LINEARQUEUE: front AB C rearIMPLEMENTATION IN CIRCULAR QUEUE:ABC rearDOUBLY LINK LISTA B Crear 5. LINKED LISTIMPLEMENTATION Stacks Linear Queue Circular Queue 6. Functions We will discuss the following functions inabove three data structures: Insertion Deletion Display Search 7. LINK LIST IMPLEMENTATIONOF STACKS 8. Defining the linked list datastructure:struct node{ int data; node *next;}; Data nextnode 9. STACK CLASSclass stack{ public:node * top;stack( ){ toptop=NULL;} 10. Push methodvoid push(int x){node * ptr=new node; topptr->data=x;ptr->next=top;top=ptr;} 11. Push methodvoid push(int x) ptr{node * ptr=new node; topptr->data=x;ptr->next=top;top=ptr;} 12. Push methodvoid push(int x) ptr{xnode * ptr=new node; topptr->data=x;ptr->next=top;top=ptr;} 13. Push methodvoid push(int x) ptr{xnode * ptr=new node; topptr->data=x;ptr->next=top;top=ptr;} 14. Push methodvoid push(int x) ptr{xnode * ptr=new node; topptr->data=x;ptr->next=top;top=ptr;} 15. Push methodvoid push(int x){top ptrnode * ptr=new node;ptr->data=x; xptr->next=top;top=ptr;} 16. - All nodes are connected to each other throughpointers- Link of the first node is NULL pointer denoted by X- Null pointer indicates the start of the stack list top D C B A 17. Pop Methodint pop(){ topif(top==NULL) { coutnext; delete ptr; return temp;A }} 18. Pop Methodint pop(){top temp=Dif(top==NULL) { coutnext; delete ptr; return temp;A }} 19. Pop Methodint pop() ptr{top temp=Dif(top==NULL) { coutnext; delete ptr; return temp;A }} 20. Pop Methodint pop(){ptr temp=Dif(top==NULL) { D coutnext; delete ptr; return temp;A }} 21. Pop Methodint pop(){ptr temp=Dif(top==NULL) { D coutnext; delete ptr; return temp;A }} 22. Display Methodvoid display(){node * temp; toptemp=top;if(top==NULL) D{coutdata==x){ coutnext; rear->next=ptr;}rear=ptr;} 78. Insert Methodrear ptrvoid insert(int x)x{node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else{ ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 79. Insert Methodrear ptrAddressvoid insert(int x)x of itself{node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else{ ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 80. Insert Methodrear ptr Addressvoid insert(int x) x of itself{node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else{ ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 81. Insert Methodvoid insert(int x){node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else rearptr{A Address of itself x ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 82. Insert Methodvoid insert(int x){node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else rearptr{A Address of itself x ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 83. Insert Methodvoid insert(int x){node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr;else rear ptr{Ax ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 84. Insert Methodvoid insert(int x){node * ptr = new node;ptr -> data=x;if(rear==NULL) ptr -> next=ptr; rearelseptr{A x ptr->next=rear->next; rear->next=ptr;}rear=ptr;} 85. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next;if(rear==rear->next){ rear=NULL;}else{rear->next=rear->next->next;}delete ptr;return temp;}} 86. Remove Methodint remove(){if(rear==NULL)temp=A{coutdata;node* ptr=rear->next;if(rear==rear->next){ rear=NULL;}else{rear->next=rear->next->next;}delete ptr;return temp;}} 87. Remove Methodint remove(){if(rear==NULL)temp=A{coutdata;node* ptr=rear->next;if(rear==rear->next){ rear=NULL;}else{rear->next=rear->next->next;}delete ptr;return temp;}} 88. Remove Methodint remove(){if(rear==NULL)temp=A{coutdata;node* ptr=rear->next; rearif(rear==rear->next){ rear=NULL;}else{rear->next=rear->next->next;}delete ptr;return temp;}} 89. Remove Methodint remove(){if(rear==NULL)temp=A{coutdata;node* ptr=rear->next; rearif(rear==rear->next){ rear=NULL;}else{rear->next=rear->next->next;}delete ptr;return temp;}} 90. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next; rearif(rear==rear->next){ rear=NULL;A B C}else{rear->next=rear->next->next;}delete ptr;return temp;}} 91. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next;rearif(rear==rear->next){ rear=NULL;AB C}else{rear->next=rear->next->next;}delete ptr;return temp;}} 92. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next; ptr rearif(rear==rear->next){ rear=NULL;A B C}else{rear->next=rear->next->next;}delete ptr;return temp;}} 93. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next; ptr rearif(rear==rear->next){ rear=NULL;A B C}else{rear->next=rear->next->next;}delete ptr;return temp;}} 94. Remove Methodint remove(){if(rear==NULL){coutdata;node* ptr=rear->next; ptr rearif(rear==rear->next){ rear=NULL;A B C}else{rear->next=rear->next->next;}delete ptr;return temp;}} 95. Display Methodvoid display(){if(rear==NULL){cout


Recommended