In: Computer Science
I need this in java using textpad. I am missing a few lines where I added in comments. I don't know what I need to add in. Here are the two programs as pasteable code.The comments in the code say what I need done. The two programs are below.
public class ListDemoHw { public static void printLinkedList(SLLNode node) { // display all elements in the linked list while(node != null) { System.out.print(node.info + " "); node = node.next; // move to the next node } System.out.println(); } static SLLNode generateLL1() { // Create/return a linked list that has {3, 4, 1, 2} // Note that this is not quite a useful function. Just for practice purpose } static SLLNode generateLL2(int a, int b) { // Create/return a linked list that has {a, b, a, b} // eg) generateLL2(10,20) returns a list {10,20,10,20} } static SLLNode generateLL_with_array(int[] nums) { // Creat/return a linked list using the given int array // Return null if the array is empty (size is zero). // eg) generateLL3(new int[]{2,3,4}) returns a list {2,3,4} } static void attach(SLLNode ls1, SLLNode ls2) { // Given two linked lists, attach the second list at the end of the first list // eg) Suppose ls1={1,2,3}, ls2={50,60} as lists, attach(ls1, ls2) makes ls1 = {1,2,3,50,60} // Assume ls1 is not empty. // Hint: You need to go to the last node of ls1 and make a connection from it to the ls2 } public static void main(String[] args) { printLinkedList(generateLL1()); // 3 4 1 2 printLinkedList(generateLL2(20,30)); // 20 30 20 30 printLinkedList(generateLL_with_array(new int[] {2})); // 2 printLinkedList(generateLL_with_array(new int[] {2,3,4,5})); // 2 3 4 5 SLLNode ls1 = generateLL1(); attach(ls1,generateLL2(20,30)); printLinkedList(ls1); // 3 4 1 2 20 30 20 30 } }
---------------------------------------------------------------------------------------------------
public class SLLNode { E info; SLLNode next; public SLLNode(E val) { info = val; next = null; } }
Code
SLLNode class
public class SLLNode {
int info;
SLLNode next;
public SLLNode(int val) {
info = val;
next = null;
}
}
ListDemoHw class
public class ListDemoHw {
public static void printLinkedList(SLLNode node) {
// display all elements in the linked list
while(node != null) {
System.out.print(node.info + " ");
node = node.next; // move to the next node
}
System.out.println();
}
static SLLNode generateLL1() {
SLLNode head=new SLLNode(3);
head.next=new SLLNode(4);
head.next.next=new SLLNode(1);
head.next.next.next=new SLLNode(2);
return head;
}
static SLLNode generateLL2(int a, int b) {
SLLNode head=new SLLNode(a);
head.next=new SLLNode(b);
head.next.next=new SLLNode(a);
head.next.next.next=new SLLNode(b);
return head;
}
static SLLNode generateLL_with_array(int[] nums) {
SLLNode head=null;
for(int i=0;i<nums.length;i++)
{
SLLNode newNode=new SLLNode(nums[i]);
if(head==null)
head=newNode;
else
{
SLLNode temp=head;
while(temp.next!=null)
{
temp=temp.next;
}
temp.next=newNode;
}
}
return head;
}
static void attach(SLLNode ls1, SLLNode ls2) {
// Given two linked lists, attach the second list at the end of the
first list
// eg) Suppose ls1={1,2,3}, ls2={50,60} as lists, attach(ls1, ls2)
makes ls1 = {1,2,3,50,60}
// Assume ls1 is not empty.
// Hint: You need to go to the last node of ls1 and make a
connection from it to the ls2
SLLNode temp=ls1;
while(temp.next!=null)
{
temp=temp.next;
}
temp.next=ls2;
}
public static void main(String[] args) {
printLinkedList(generateLL1()); // 3 4 1 2
printLinkedList(generateLL2(20,30)); // 20 30 20 30
printLinkedList(generateLL_with_array(new int[] {2})); // 2
printLinkedList(generateLL_with_array(new int[] {2,3,4,5})); // 2 3
4 5
SLLNode ls1 = generateLL1();
attach(ls1,generateLL2(20,30));
printLinkedList(ls1); // 3 4 1 2 20 30 20 30
}
}
output
If you have any query regarding the code please ask me in the comment i am here for help you. Please do not direct thumbs down just ask if you have any query. And if you like my work then please appreciates with up vote. Thank You.