dongliming2416 2016-02-06 02:30
浏览 87

语法错误:名称意外,应为)

I have my code for my BST in GO. I keep getting this error message. I am using noted pad and I am a beginner. the error is in my for loop. under the insertList func.

type node struct{
    left *node
    right *node
    val int
    }


func insert(tree *node, element int) *node{
    if tree == nil{
        tree = &node{nil, nil, element}
        } else if element > tree.val{
        tree.right = insert( tree.right, element)
        } else if element < tree.val{
        tree.left = insert( tree.left, element)
        }
    return tree
    }
func insertList(elementList []int) *node{
    if tree == nil{
        for i:=0; i<[]int.len; i++{ 
            tree = insert([i]int)}
        return tree}}

func displayBST(tree *node){
    if ( tree != nil) {
        displayBST( tree.left)
        fmt.Println(tree.val)
        displayBST(tree.right)}}


func main(){

     l := [10]int{100, 3, 3, 200, 5, 8, 5, 200, 0, -4}

     s := l[:]

     insertList(s)

     displayBST(insertList(s))

     fmt.Println()}
  • 写回答

1条回答 默认 最新

  • doujiao8491 2016-02-06 02:46
    关注

    This should get you past the syntax errors:

    package main
    
    import "fmt"
    
    type node struct {
        left  *node
        right *node
        val   int
    }
    
    func insert(tree *node, element int) *node {
        if tree == nil {
            tree = &node{nil, nil, element}
        } else if element > tree.val {
            tree.right = insert(tree.right, element)
        } else if element < tree.val {
            tree.left = insert(tree.left, element)
        }
        return tree
    }
    
    func insertList(tree *node, elementList []int) *node {
        if tree == nil {
            for i := 0; i < len(elementList); i++ {
                tree = insert(tree, elementList[i])
            }
        }
        return tree
    }
    
    func displayBST(tree *node) {
        if tree != nil {
            displayBST(tree.left)
            fmt.Println(tree.val)
            displayBST(tree.right)
        }
    }
    
    func main() {
    
        l := [10]int{100, 3, 3, 200, 5, 8, 5, 200, 0, -4}
    
        s := l[:]
    
        var t *node
    
        insertList(t, s)
    
        displayBST(insertList(t, s))
    
        fmt.Println()
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大