簡體   English   中英

打印節點數組

[英]Printing an array of nodes

是否可以打印節點數組? 我需要在構建時顯示AVL樹,但每當我運行此代碼時,程序都會崩潰。 有什么替代方法嗎?

     int k = 0;
    t = NULL;
    node* nodearray[32];
    for( j = 0; j < 33; j++)
    {
        printf ("Table %d \n", j+1);
        printf ("LineNum Left Data Right\n");
        t = Insert(j, a[j], t );

    for (k= 0 ; k < j ; k ++)
    {
         printf ("%5d %5d %5d %5d", nodearray[k]->num, nodearray[k]->left->data, nodearray[k]->data, nodearray[k]-> right ->data);
    }
}

問題:

  1. nodearray未初始化 - 其中的指針具有不確定的值。 取消引用它們會調用未定義的行為。

  2. for( j = 0; j < 33; j++) - 但是你將nodearray聲明為32個元素。 沒有看到Insert()的實現很難說,但是你可能還有一個一個一個錯誤(你正在讀/寫超過數組的末尾)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM