搜索列表中包含x.key = k的所有元素

时间:2014-02-23 14:24:58

标签: algorithm list search

我需要在列表中搜索x.key = k的所有元素x。我将创建一个空列表G,其中将存储有关索引的信息。

search(L,G,k)
    x <- L.head
    y <- G.head
    i <- 0
    while (x.next != null)
        x <- x.next
        i <- i+1
        if(x.key = k)
            y.next <- new y
            y <- y.next
            y.key <- i

这是对的吗?我怎样才能正确地写新y?我希望如果L中的元素具有键k,则新元素通过键i连接到G列表,其中i是索引。

1 个答案:

答案 0 :(得分:0)

我会做一些更正:

 while (x != null)
        if(x.key = k)
            do some stuff with y
        i <- i+1
        x <- x.next

因为(x.next = null)是最后一个元素,但是带有数据键的有效元素。

增量的地方i&lt; - i + 1 - 取决于计算惯例 - 从零开始或从一开始

P.S。你在使用虚拟头节点吗?