क्यों यह जावा कोड काम नहीं करता है?

वोट
0

मैं इस कोड टुकड़ा है

class bst {
  public node root=null;

  bst() {
    root=null;
  }

  public void insert(int data) {  
    insert(this.root,data);
  }

  private void insert(node ro,int data) {
    if (ro==null) {
      print (root is null);
      ro=new node(data);
    } else if (data>ro.data)
      insert(ro.right,data); 
    else
      insert(ro.left,data);
  }

  private void print (String str) 
  {
    System.out.println(str);
  }
}

जब मैं फोन insertकी तरह समारोह insert(5); insert(8);alwaty प्रिंट यह root is null

समस्या क्या है??

17/01/2010 को 15:31
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
8

आपकी समस्या यह है कि roअंदर चर insertविधि बस के संदर्भ की एक प्रति है bst.ro। जिसका अर्थ है कि यदि आप रीसेटro विधि के अंदर चर, बस संदर्भ की प्रतिलिपि इंगित करेगा नया ro , मूल रूप से पारित कर दिया वस्तु ही रहेगा।

आपका प्रश्न पैरामीटर पासिंग पूछे जाने वाले प्रश्न के शीर्ष 1 है। मैं अपने आप को पहले से ही इस सवाल का एक बार से अधिक जवाब दे दिया। इसे देखें

17/01/2010 को 15:33
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more