gpt4 book ai didi

java - 使用数组实现链表

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:15 24 4
gpt4 key购买 nike

我正在尝试使用数组作为底层结构在 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;
next++;
}
else{
System.out.println("list is full");
}
}




public void insertAfter (char after ,char value){
next=0;
while(data[next] !=after){
next++;
}
char temp = data[next+1];
data[next+1] = value;

}

public void printList(){
for(int i=0;i<data.length;i++){
System.out.print(data[i]);
}
}
}





public class myLinkedList {

public static void main(String args[]) {
linkedList list = new linkedList(9);
list.insertFirst('T');
list.insertFirst('H');
list.insertFirst('L');
list.insertAfter('H', 'z');
list.printList();
}

}

这也算链表吗?

最佳答案

这不是链表。您拥有的类似于 ArrayList,因为数组用作基础数据结构。链表由一系列节点组成,每个节点都与下一个节点相连。通过在当前节点上调用类似 node.next() 的方法遍历链表,直到到达目标或链表末尾。

如果在达到大小限制后要向列表结构中插入另一个元素,则需要创建一个新数组,将旧数组的内容复制过来,然后将新元素插入数组中。您可以使用 System.arraycopy()执行复制或移动数组中的项目。

关于java - 使用数组实现链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47680987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com