このコードのインオーダートラバーサルの何が問題になっていますか?

swapnil

Else条件もif条件と一緒に実行されています--inOrder(Node node)メソッド

与えられたコードを使用して実際にBSTにノードを追加し、順序トラバーサルを使用してノードを取得しようとしていますがElse、各の後に条件が実行されているため、出力が順序どおりではありませんIf

import java.util.*;
import java.io.*;
import java.lang.*;

class Node{
    int data; Node left; Node right;
    public Node(int data) {
        this.data = data;
        left = null;
        right = null;

    }
}
public class insert_tree {
    Node root;  
    public void addNode(int value) { 
        root = add(root, value);
    }
    private Node add(Node node, int value) {
        if(node == null) {
            node  = new Node(value);
            return node;
        }
         if(value == node.data) {
            node.left = add(node.left, value);
        }
        else if(value < node.data) {
            node.left = add(node.left, value);
        }       
        else {
            node.right = add(node.right, value);
        }
        
        return node;
    }

    private void inOrder(Node node) {
        if(node != null) {
            inOrder(node.left);
            System.out.print(node.data + " ");
            inOrder(node.right);
        }
        else {
            System.out.print("*" + " ");
        }
    }
    public void inorder() {
        inOrder(root);
    }
   public static void main(String args[]) {
        insert_tree obj = new insert_tree();
        obj.addNode(20);
        obj.addNode(14);
        obj.addNode(25);
        obj.addNode(10);
        obj.addNode(16);
        obj.addNode(25);
        obj.addNode(21);
        obj.addNode(30);
        //printing the tree
        obj.inorder();



    }
}


期待される出力は次のようになります:-10 14 16 20 21 25 25 30

私が得ている出力:-* 10 * 14 * 16 * 20 * 21 * 25 * 25 * 30 *

ポール・レマーチャンド
private void inOrder(Node node) {
    if (node != null) {
        if(node.left != null)
            inOrder(node.left);
        System.out.print(node.data + " ");
        if(node.right != null)
            inOrder(node.right);
    } else {
        System.out.print("*" + " ");
    }
}

null注文する前に、ノードのネイバーがそうでないかどうかを確認するための条件を追加しました。

if(node.left != null)
if(node.right != null)

出力:

10 14 16 20 21 25 25 30

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このWacomドライバーのインストールで何が問題になっていますか?

分類Dev

このオブザーバーパターンコードの何が問題になっていますか?

分類Dev

このサイドバーの何が問題になっていますか?

分類Dev

このリンクリストトラバーサルの何が問題になっていますか?

分類Dev

このRubyケースコントロールコードの何が問題になっていますか?

分類Dev

コンストラクターのオーバーライド可能なメソッド呼び出しの何が問題になっていますか?

分類Dev

このCoderバイトコードの何が問題になっていますか(簡単な課題#2)?

分類Dev

DFSトラバーサルの何が問題になっていますか?

分類Dev

このjavascriptアコーディオンコードの何が問題になっていますか?

分類Dev

opencvでホワイトバランシングを行う必要があるこのコードの何が問題になっていますか

分類Dev

CS50ランオフ問題のコードの何が問題になっていますか?

分類Dev

このC ++コードの何が問題になっていますか?(コンソール)

分類Dev

AngularJS:コントローラーへのこの注入の何が問題になっていますか?

分類Dev

プロジェクトオイラー#3のこのコードの何が問題になっていますか?

分類Dev

オイラー7のコードの何が問題になっていますか?

分類Dev

バッチスクリプトのこのコード行の何が問題になっていますか?

分類Dev

plsqlこのコードエラーの何が問題になっていますか 'INTOリストのタイプが間違っています'

分類Dev

このf#エコーサーバーの何が問題になっていますか?

分類Dev

このf#エコーサーバーの何が問題になっていますか?

分類Dev

プロジェクトオイラーQ27:このコードの何が問題になっていますか?

分類Dev

インプレースヒープソートコードの何が問題になっていますか

分類Dev

このコードのmetricsargの何が問題になっていますか?

分類Dev

このコードのchrの何が問題になっていますか?

分類Dev

sessionloginidのこのコードの何が問題になっていますか

分類Dev

ARMのこのコードの何が問題になっていますか

分類Dev

この次のコードの何が問題になっていますか?

分類Dev

このC ++のコードの何が問題になっていますか?

分類Dev

APUEのこのコードの何が問題になっていますか?

分類Dev

このPHPファイルの名前変更コードの何が問題になっていますか?

Related 関連記事

  1. 1

    このWacomドライバーのインストールで何が問題になっていますか?

  2. 2

    このオブザーバーパターンコードの何が問題になっていますか?

  3. 3

    このサイドバーの何が問題になっていますか?

  4. 4

    このリンクリストトラバーサルの何が問題になっていますか?

  5. 5

    このRubyケースコントロールコードの何が問題になっていますか?

  6. 6

    コンストラクターのオーバーライド可能なメソッド呼び出しの何が問題になっていますか?

  7. 7

    このCoderバイトコードの何が問題になっていますか(簡単な課題#2)?

  8. 8

    DFSトラバーサルの何が問題になっていますか?

  9. 9

    このjavascriptアコーディオンコードの何が問題になっていますか?

  10. 10

    opencvでホワイトバランシングを行う必要があるこのコードの何が問題になっていますか

  11. 11

    CS50ランオフ問題のコードの何が問題になっていますか?

  12. 12

    このC ++コードの何が問題になっていますか?(コンソール)

  13. 13

    AngularJS:コントローラーへのこの注入の何が問題になっていますか?

  14. 14

    プロジェクトオイラー#3のこのコードの何が問題になっていますか?

  15. 15

    オイラー7のコードの何が問題になっていますか?

  16. 16

    バッチスクリプトのこのコード行の何が問題になっていますか?

  17. 17

    plsqlこのコードエラーの何が問題になっていますか 'INTOリストのタイプが間違っています'

  18. 18

    このf#エコーサーバーの何が問題になっていますか?

  19. 19

    このf#エコーサーバーの何が問題になっていますか?

  20. 20

    プロジェクトオイラーQ27:このコードの何が問題になっていますか?

  21. 21

    インプレースヒープソートコードの何が問題になっていますか

  22. 22

    このコードのmetricsargの何が問題になっていますか?

  23. 23

    このコードのchrの何が問題になっていますか?

  24. 24

    sessionloginidのこのコードの何が問題になっていますか

  25. 25

    ARMのこのコードの何が問題になっていますか

  26. 26

    この次のコードの何が問題になっていますか?

  27. 27

    このC ++のコードの何が問題になっていますか?

  28. 28

    APUEのこのコードの何が問題になっていますか?

  29. 29

    このPHPファイルの名前変更コードの何が問題になっていますか?

ホットタグ

アーカイブ