Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions AlgoDemo/src/main/java/Random.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

public class Random {


public static void main(String[] args){


}
}
124 changes: 124 additions & 0 deletions AlgoDemo/src/main/java/com/prahalad/doubleEnded/DoubleEndedLink.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
package com.prahalad.doubleEnded;

import com.prahalad.junit.Person;

public class DoubleEndedLink {

private Node first;
private Node last;

class Node{

private Node next;
private Person p;

public Node(String fname,String lname, int age){

p=new Person(fname, lname, age);

}
}

public boolean isEmpty(){

return ( first==null);
}

public void insertFirst(String fname, String lname, int age){

Node newfirst = new Node(fname, lname, age);

if(isEmpty())
last=newfirst;
newfirst.next = first;
first = newfirst;


}

public void insertLsat(String fname, String lname, int age){

Node newfirst = new Node(fname, lname,age);

if(isEmpty()){
first=newfirst;
}else{
last.next = newfirst;
last = newfirst;
}
}

public Person find(String lname){

Node current = first;


while(current.p.getLast() != lname){
if(current.next == null) return null;
else current = current.next;

}
return current.p;
}


public Person deleteFirst(){


if(!isEmpty())
first = first.next;
return first.p;
}

public Person delete(String lname){

Node current = first;
Node previous = first;

while(current.p.getLast() != lname){
if(current.next == null) return null;
else{

previous = current;
current = current.next;
}
}
if(current==first) first=first.next;
else{
previous.next = current.next;
}

return current.p;
}

public void displayAll(){

Node current = first;
while(current.next != null){

current.p.displayPerson();
current =current.next;
}
if(last.next == null)
last.p.displayPerson();


}
public static void main(String...OMSHIV){

DoubleEndedLink dl = new DoubleEndedLink();
dl.insertFirst("Prahalad", "Kothwal", 33);
dl.insertFirst("Apurva", "Jaswal", 27);
dl.insertFirst("James", "Gosling", 55);
dl.insertLsat("jimi", "Hendrix", 66);
dl.insertLsat("jim", "Morrison", 86);
dl.insertLsat("David", "Gilmour", 67);

//dl.find("Jaswal").displayPerson();
dl.displayAll();
// dl.deleteFirst().displayPerson();
//dl.find("Gosling").displayPerson();
// dl.delete("Hendrix").displayPerson();
}

}
76 changes: 76 additions & 0 deletions AlgoDemo/src/main/java/com/prahalad/doubleEnded/SortedList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package com.prahalad.doubleEnded;


//import com.prahalad.doublelinked.DoubleLinked.Node;
import com.prahalad.junit.Person;

public class SortedList {

private Node first;
//private Node last;

class Node{

private Node next;
private Person p;

public Node(String fname,String lname, int age){

p=new Person(fname, lname, age);

}
}

public boolean isEmpty(){

return ( first==null);
}

public void insertSorted(String fname,String lname, int age){

Node previous = null;
Node current = first;

Node newlink = new Node(fname, lname, age);

while(current != null && current.p.getLast().compareTo(lname) < 0){

previous = current;
current = current.next;

}
if( previous == null) first = newlink;
else previous.next = newlink;

newlink.next = current;

}

public void displayAll(){

Node current = first;
while(current.next != null){

current.p.displayPerson();
current =current.next;
}

}

public static void main(String...SHIVA){

SortedList dl = new SortedList();
dl.insertSorted("Prahalad", "Kothwal", 33);
dl.insertSorted("Apurva", "Jaswal", 27);
dl.insertSorted("James", "Gosling", 55);
dl.insertSorted("jimi", "Hendrix", 66);
dl.insertSorted("jim", "Morrison", 86);
dl.insertSorted("David", "Gilmour", 67);

dl.displayAll();
}




}
140 changes: 140 additions & 0 deletions AlgoDemo/src/main/java/com/prahalad/doublylinked/DoublyLinked.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
package com.prahalad.doublylinked;

public class DoublyLinked {

private Node first;
private Node last;

class Node{

private Node next;
private Node prev;

private double d;

public Node(double d){
this.d = d;
}
}

public boolean isEmpty(){

return first == null;
}

public void insertFirst(double d){

Node newlink = new Node(d);

if(isEmpty()) last = newlink;
else
first.prev = newlink;
newlink.next = first;
first = newlink;

}

public void insertLast(double d){

Node newlink = new Node(d);

if(isEmpty()) first = newlink;
else {
last.next = newlink;
newlink.prev = last;
}
last = newlink;


}

public Node deleteFirst(){

Node temp = first;
if(first.next== null) last = null;
else first.next.prev = null;
first = first.next;
return temp;
}

public Node deleteLast(){

Node temp = last;
if(last.prev == null) first=null;
else last.prev.next = null;
last = last.prev;
return temp;
}


public boolean insertAfter(double value, double key){

Node current = first;

while(current.d != key){

current = current.next;
if(current == null) return false;
}
Node newlink = new Node(value);

if(current==last){
newlink.next = null;
last = newlink;
}else {

newlink.next = current.next;
current.next.prev = newlink;
}
newlink.prev = current;
current.next = newlink;
return true;


}

public boolean deleteKey(double d){

Node current = first;
while(current.d != d){
current = current.next;
if(current==null) return false;
}
if(current==first){
first = first.next;
}else {

current.prev.next = current.next;
}
if(current==last)
last = last.prev;
else
current.next.prev = current.prev;

return true;
}

public void displayForward(){

Node current = first;

while(current != null){

System.out.println(current.d);
current = current.next;
}
}

public static void main(String...SHIVA){

DoublyLinked dl = new DoublyLinked();

dl.insertFirst(100);
dl.insertFirst(300);
// dl.displayForward();
dl.insertAfter(200, 300);
dl.deleteFirst();
dl.displayForward();
}

}
Loading