//linked list
/*
Linked List is a Linear Data Structure. Drawback of Array Is continues Block Of Memory. Linked Is Used To Allocate the Different Memory Location. Each node
Contains Data And Pointer.
Header Is Used To Denote The First Node Of Linked List.
Tail Is Used To Denote the Last Node of The Linked List.
1.Singly Linked List
Each Node as Data And pointer To The Next Node.
[ data(header) | pointer of next]->[ data | pointer of next]->[ data | pointer of next]->[ data | null];
2.doubly Linked List
Each Node as Data And pointer To The Next Node and prev Node.
[ data(header) | pointer of next]<->[pointer to prev|data | pointer of next]<->[pointer to prev|data | pointer of next]<->[pointer to prev|data | null];
3.Circle Linked List
[ data(header) | pointer of next]->[ data | pointer of next]->[ data | pointer of next]->[ data | null]-->header
*/
class node{
int data;
node next;
node(int data){
this.data=data;
}
}
class linkedlist{
//Header Object of List
node header;
//Current Object of List
node current;
//Constractor to Instalize a Value of header as null
linkedlist(){
header=null;
}
//Add New Node To List
public void add(int data){
//Check If Heaer Is Null Or Not
if(header==null){
header=new node(data);
current=header;
// /System.out.println(current==header);
}
else{
current.next=new node(data);
current=current.next;
}
}
//Traverse Linked List Using Through List header
public void traverse(node header){
while(header!=null){
System.out.println(header.data);
header=header.next;
}
}
//Linked List Count Number Of Node in given List Using List Header
public int count(node header){
int counter=0;
while(header!=null){
counter+=1;
header=header.next;
}
return counter;
}
//Linked List Count Number Of Node in given List Using List Object
public int countByList(linkedlist list){
int counter=0;
while(list.header!=null){
counter+=1;
list.header=list.header.next;
}
return counter;
}
public static void main(String[] args){
linkedlist l=new linkedlist();
linkedlist l2=new linkedlist();
l.add(5);
l.add(10);
l.add(15);
l.add(20);
l.add(25);
l.add(30);
l.add(35);
l.add(40);
l.traverse(l.header);
System.out.println(l.countByList(l));
}
}
Comments
Post a Comment