How do I create a Linked List Data Structure in Java?
By : ziqew
Date : March 29 2020, 07:55 AM
will be helpful for those in need The obvious solution to developers familiar to Java is to use the LinkedList class already provided in java.util. Say, however, you wanted to make your own implementation for some reason. Here is a quick example of a linked list that inserts a new link at the beginning of the list, deletes from the beginning of the list and loops through the list to print the links contained in it. Enhancements to this implementation include making it a double-linked list, adding methods to insert and delete from the middle or end, and by adding get and sort methods as well. Note: In the example, the Link object doesn't actually contain another Link object - nextLink is actually only a reference to another link. code :
class Link {
public int data1;
public double data2;
public Link nextLink;
//Link constructor
public Link(int d1, double d2) {
data1 = d1;
data2 = d2;
}
//Print Link data
public void printLink() {
System.out.print("{" + data1 + ", " + data2 + "} ");
}
}
class LinkList {
private Link first;
//LinkList constructor
public LinkList() {
first = null;
}
//Returns true if list is empty
public boolean isEmpty() {
return first == null;
}
//Inserts a new Link at the first of the list
public void insert(int d1, double d2) {
Link link = new Link(d1, d2);
link.nextLink = first;
first = link;
}
//Deletes the link at the first of the list
public Link delete() {
Link temp = first;
if(first == null){
return null;
//throw new NoSuchElementException(); // this is the better way.
}
first = first.nextLink;
return temp;
}
//Prints list data
public void printList() {
Link currentLink = first;
System.out.print("List: ");
while(currentLink != null) {
currentLink.printLink();
currentLink = currentLink.nextLink;
}
System.out.println("");
}
}
class LinkListTest {
public static void main(String[] args) {
LinkList list = new LinkList();
list.insert(1, 1.01);
list.insert(2, 2.02);
list.insert(3, 3.03);
list.insert(4, 4.04);
list.insert(5, 5.05);
list.printList();
while(!list.isEmpty()) {
Link deletedLink = list.delete();
System.out.print("deleted: ");
deletedLink.printLink();
System.out.println("");
}
list.printList();
}
}
|
Create list of numbers mirrored around zero (python)
By : Eric Emmanuel Roque
Date : March 29 2020, 07:55 AM
wish of those help If you want it to be strictly mirrored around 0, (i.e. always include 0 and the endpoints, and be perfectly symmetric about 0) you'll need a couple of steps. First off, be aware of @NPE's comment above. Floating point math is not the same as decimal math!! This may seem beside the point, but it will bite you in certain circumstances. code :
import numpy as np
def mirrored(maxval, inc=1):
x = np.arange(inc, maxval, inc)
if x[-1] != maxval:
x = np.r_[x, maxval]
return np.r_[-x[::-1], 0, x]
print mirrored(1, 0.3)
[-1. -0.9 -0.6 -0.3 0. 0.3 0.6 0.9 1. ]
import numpy as np
def mirrored2(maxval, inc=1):
return np.linspace(-maxval, maxval, 2*maxval // inc)
print mirrored2(1, 0.3)
[-1. -0.6 -0.2 0.2 0.6 1. ]
|
Create an Linked List array of linked lists with a loop java
By : user2380777
Date : March 29 2020, 07:55 AM
Does that help I have successfully implemented Radix sort but I have the following code that I would like to convert to be created by a loop. , Here you go: code :
private static LinkedList[] bucket = new LinkedList[19];
static {
for (int i = 0; i < bucket.length; ++i) {
bucket[i] = new LinkedList();
}
}
|
How to create a linked list in java?
By : donPardon
Date : March 29 2020, 07:55 AM
I think the issue was by ths following , That's how the pointers in the list look internally, to actually add it to the list you need to do this: code :
List<String> s = new LinkedList<>();
s.add("a");
s.add("b");
s.add("c");
s.add("d");
|
How to quickly create linked list in C/C++ just like java?
By : user61731
Date : March 29 2020, 07:55 AM
To fix this issue Java has a linked list object which can be used to quickly create a linked list using predefined functions. Does C or C++ have similar libraries too? I have an upcoming test and I want make the basic list quickly so that I can delve into the real problem. But making these linked lists take so much time! Do I have to switch to java or is there a way? , C++ stl contains both singly linkedlist and doubly linkedlist. code :
#include<iostream>
#include<forward_list>
using namespace std;
int main(){
forward_list<int> singlyList1; //declaring singly linked list
singlyList1.assign({50,40}); // assign values to list
singlyList1.push_front(60); // insert element at first position
cout << "The elements forward list are : ";
for (int&ele : singlyList1)
cout << ele << " ";
cout << endl;
return 0;
}
#include <iostream>
#include <list>
#include <iterator>
using namespace std;
int main(){
list<int> dblyList{1,2,3};
dblyList.push_back(4);
dblyList.push_front(9);
cout << "\n Front : " << dblyList.front();
cout << "\n Back : " << dblyList.back();
return 0;
}
|