2016-03-28 47 views
0

Sadece iki satır arasındaki farkı bilmek istiyorum. listeData bu arada başı çekiyor.Bir Sırasız Bağlantılı Listede düğümler ekleme

temp->next = listData; 

ve burada

listData = temp->next; 

ben yaptıysam

NodeType* temp; 
temp = new NodeType; 
temp->data = item; 
temp->next = listData; 
listData = temp; 
length++; 

Yani bir sırasız bağlantılı listesine bir düğüm eklemek için tam kodudur gerçekleşmesi veya can ne temp->next = listData ait listData = temp->next yerine Birisi ne anlama geldiğini en basit terimlerle açıklar. Her zaman sağ ya da sol tarafta -> görüyorum, bana kafam karıştı. Teşekkür ederim!

cevap

0

->-> sadece bir işaretçi referansına eriştiğinizi gösterir, daha fazla ve hiçbir şey daha az değildir.

Eşit bir işaret gördüğünüzde, normalde yapamayacağınız, sağ taraftaki her şey sol tarafa atanır (eşittir işareti geçersiz kılmadığınız sürece) demektir.

  1. temp->next = listData

Sen temp sonraki olarak listData ayarlıyorsunuz.

    listData

    Bir LinkedList için temp adlı bir düğüm ekliyoruz yana olarak sıcaklığında bir sonraki ayarlarken

  1. listData = temp->next

, sen eski istemez. Bağlantılı bir liste düşünün ve iki düğüm A ve B arasında bir düğüm temp ekliyorsunuz. Verirsin:

sonraki A Set
  1. temp sonraki B

Bu sürecin ikinci temp->next = listData yapıyor ne kadar Seti

  • temp için. (ListData, B ve

  • +0

    dahil olmak üzere, kalan listenin geri kalanı olduğunu varsayarak bunu temizlediğiniz için teşekkür ederiz. – Carlitos