Bir BST Bellek ve işaretçileri

oy
0

Sol, sağ ve ebeveyn için alıcı ve ayarlayıcı yöntemleri oluştururken ..... basit bir nesne götüren bir ikili arama ağacında. Bir üst düğüm ayarlandığında neler olduğu konusunda endişeler bulunmaktadır. Kod feryat ...

kod:

 public void setParent(Person parent) {
  parent = new Person( parent.getName(), parent.getWeight());

kod ilham kod örneği:

 public void setParent(Node parent) {
  this.parent = parent;
 }
Oluştur 14/11/2011 saat 02:47
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
2

Sen aslında üst nesnenin bir klonu ne olduğunu yaratıyoruz. Bu sadece üst nesnesine işaretçiyi tasarrufu farklıdır.

Açıkçası, üst nesne çoğaltarak daha fazla bellek alanı atacağız. Daha da önemlisi, ebeveynin başvuruları çoğaltarak değiliz. Eğer ağaç travers çalışırsanız, daha sonra diğer çocukları ziyaret etmeyi deneyin, bir düğümün ebeveyni gidin Yani, boş göstericilerle bir demet çizin.

this.parentMevcut nesnenin bir referanstır parentişaretçi.

Aslında anlamına gelmez thisbir ebeveyn olduğunu. Aslında, this.parentyerel ayırt etmek için kullanılan parent, gelen parametre işaretçi parent.

class Person{
    Person parent; // <---- this is the "this.parent" attribute, and is initially undefined
    public void setParent(Person parent){ // <---- the "Person parent" on this line is an incoming parameter
        this.parent = parent; //<---- "this.parent" refers to the attribute, and "parent" refers to the parameter
    }
}
Cevap 14/11/2011 saat 02:52
kaynak kullanıcı

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