小编Alo*_*sta的帖子

如何在 Julia 中实现 SingleLinkedList

我正在学习 TAD 但是,我不太了解语法,这就是为什么我很难创建单个列表,但我理解它是如何工作的,例如 TAD,请有人能告诉我如何实现这一点TAD(链表),带有基本说明和描述

abstract type AbstractList{T} end
abstract type AbstractNode{T} end

mutable struct Nodo{T} <: AbstractNode{T}
    value ::T
    next ::Nodo{T}
    Nodo{T}() where T =(x=new();x;x.next=x)
    Nodo{T}(v,n) where T =new(v,n)
end

mutable struct LList{T} <: AbstractList{T}
    first ::Nodo{T}
    LList{T}() where T =new(Nodo{T}())
end

Lista=LList;

function Append(lista,value)
    current=Nodo(value,new(Nodo()))
    if Lista.size==0
        lista.head=current
    else
        MyNode=Lista.first;
        while MyNode.next!=nothing
            MyNode=MyNode.next;
        MyNode.next=current;
        end
    end
    Lista.size+=1
end

Append(Lista,2)
Run Code Online (Sandbox Code Playgroud)

我正在尝试这个,但我不知道为什么它不起作用,我很困惑,因为我阅读了很多关于我使用的说明的帖子,但我根本不理解Nodo{T}() where T =(x=new();x;x.next=x)这个说明,我需要帮助。

julia

3
推荐指数
1
解决办法
105
查看次数

标签 统计

julia ×1