diff --git a/Semester 2 (DSA)/assignment 4/LinkedList.java b/Semester 2 (DSA)/assignment 4/LinkedList.java index 3620f33..18e645d 100644 --- a/Semester 2 (DSA)/assignment 4/LinkedList.java +++ b/Semester 2 (DSA)/assignment 4/LinkedList.java @@ -1,200 +1,401 @@ -import java.util.*; +import java.util.Scanner; public class LinkedList { - Node head; - LinkedList() + public static Node create(Node start) { - head=null; + Scanner in = new Scanner(System.in); + System.out.print("Enter Regd_no :"); + int r=in.nextInt(); + System.out.print("Enter Marks :"); + float m=in.nextFloat(); + start = new Node(r,m); + return start; } + public static void display(Node start) + { + Node n=start; + if(n==null) + { + System.out.println("Linked List is Empty"); + } + else + { + int i=0; + System.out.println("Position Number\tRegd No.\tMarks"); + do + { + System.out.println(i++ + "\t\t"+n.getRegd_no()+"\t\t"+n.getMarks()); + n=n.next; + } + while(n!=null); + } + } + //Insertion - public void InsBeg(Node start) + + public static Node InsBeg(Node start) { - if(head==null) + if(start==null) { - this.head=start; - head = new Node(start.getregd_no(),start.getmarks()); + start=create(start); + return start; } else { - Node n = new Node(start.getregd_no(),start.getmarks()); - n.next=head; - head=n; + Scanner in = new Scanner(System.in); + System.out.print("Enter Regd_no :"); + int r=in.nextInt(); + System.out.print("Enter Marks :"); + float m=in.nextFloat(); + Node n = new Node(r,m); + n.next=start; + return n; } } - public void InsEnd(Node start) + public static Node InsEnd(Node start) { - Node t=head; - if(head==null) + if(start==null) { - this.head=start; - head = new Node(start.getregd_no(),start.getmarks()); + start=create(start); + return start; } else { + Scanner in = new Scanner(System.in); + System.out.print("Enter Regd_no :"); + int r=in.nextInt(); + System.out.print("Enter Marks :"); + float m=in.nextFloat(); + Node t=start; while(t.next!=null) { t=t.next; } - t.next= new Node(start.getregd_no(),start.getmarks()); + Node n = new Node(r,m); + t.next=n; + return start; } } - public void InsAny(int l, Node start) + public static Node InsAny(Node start) { - l--; - Node n=head; - int c=0; - while(n.next!=null) + Scanner in = new Scanner(System.in); + System.out.print("Enter the Postion number to insert Node at :"); + int p=in.nextInt(); + if(p==0) { - c++; - if(c==l) - break; - n=n.next; + return InsBeg(start); + } + else + { + Node n = start; + for(int i=0; iarr_m[j]) + { + float t1=arr_m[i]; + arr_m[i]=arr_m[j]; + arr_m[j]=t1; + int t2=arr_r[i]; + arr_r[i]=arr_r[j]; + arr_r[j]=t2; + } } } + n = new Node(arr_r[0],arr_m[0]); + start=n; + for(int i=1; i=0; i--) + else { - Node nn = new Node((int)arr[i][0],(float)arr[i][1]); - ob.InsEnd(nn); + int len=count(start); + float arr_m[] = new float[len]; + int arr_r[] = new int[len]; + Node n=start; + for(int i=0; i