我正在尝试使用数组作为底层结构在java中实现一个链表。但是,我不确定如何在数组中的元素后插入元素,并将数组向下移动一位
class linkedList{
char data[];
int next;
//constructor
public linkedList(int MAX){
data = new char[MAX];
}
public void insertFirst(char d){
if(data[next]==0){
data[next] = d;
nex
我正在读这本书,有一章是关于喜欢列表的,它从一个链表的实现开始,它是这样的:
创建链表:
class Node {
Node next = null;
int data;
public Node(int d) {
data = d;
}
void appendToTail(int d) {
Node end = new Node(d);
Node n = this;
while (n.next != null) {
n = n.next;
}
根据定义,链表是一个列表,它的每个元素都指向下一个元素(如果我们谈论的是双向链表,也可以是前一个元素) 。
然而,在Java语言中,LinkedList实现了List、Queue、Deque等等。
在LinkedList中找不到提供列表中下一个或上一个对象的方法,最好的方法是获取迭代器和对象。我的问题是,为什么Java将这种数据结构称为LinkedList,而它并不是真正的链表?链表可以在Java中实现,如下所示:
Public class MyLinkedList{
public int value;
public MyLinkedList next;
}
我有一个节点的链表,每个节点的定义如下:
struct Node {
char name[14];
int counts[130];
char gender;
Node *nextPtr;
};
我用下面的代码复制这个链表:
// Create a copy of the current list
Node *tempPtr;
while (headPtr != NULL) {
tempPtr = new Node;
tempPtr = headPtr;
// Advance the list
headPtr = headPtr->