我需要创建一个函数,从该函数中手动给定的值中删除链表中的节点,但我不知道具体怎么做。我的算法是这样的:
noRaiz = None
def novoNo(valor):
return {
"valor": valor,
"proximo": None
}
def remove(valor):
global noRaiz
if noRaiz is None:
return
noAtual = noRaiz
if noRaiz["valor"] == valor:
noRaiz = noRaiz["proximo"]
def imprimir():
noAtual = noRaiz
while noAtual is not None:
print(noAtual["valor"])
noAtual = noAtual["proximo"]
noRaiz = novoNo(54)
no2 = novoNo(26)
no3 = novoNo(93)
no4 = novoNo(17)
no5 = novoNo(77)
no6 = novoNo(31)
noRaiz["proximo"] = no2
no2["proximo"] = no3
no3["proximo"] = no4
no4["proximo"] = no5
no5["proximo"] = no6
no6["proximo"] = None
imprimir()
noRaiz是列表中的第一个节点,noAtual是运行代码时打印时列表中的当前节点,imprimir()是打印节点的函数。如果我想删除节点54或17,函数会是什么样子
诀窍是在链表中移动,然后向前看一个节点,寻找与该值匹配的节点。当存在匹配时,您应该更改当前节点的链接,以便它跳过具有该值的下一个节点
以下是函数:
<强>备注:< /强>考虑用节点{{CD1>}实现链接列表,而不是全局字典。
相关问题 更多 >
编程相关推荐