PHP basit bir doğrusal bağlı liste uygulaması yazıyorum. Bu sadece uygulama için temelde ... bir Project Euler sorunun bir parçasıdır. Ben bellek sızıntılarını önlemek amacıyla çöp toplama yardımcı olmak için unset() kullanarak olmalıdır eğer ben emin değilim. Ben hayat boyu öğrenmenin yıkıcı baş ve sıcaklık için) (bir unset içermelidir?
İstediğim zaman düğümleri silmek için unset () kullanmak gerekir anlamak, ancak genel olarak herhangi bir noktada temizlemek için) gerekli (unset nedir?
Script unset () kullanmak bile sonlandırır kez bellek haritası serbest?
I saw this SO question, ama ben hala biraz belirsiz değilim. Sadece referansları oluşturma ile ilişkili bellek sızıntıları herhangi bir sorundan kaçınmak için unset () kullanmak zorunda değilsiniz cevap mı?
Ben btw .. PHP 5 kullanıyorum.
İşte kod - Ben LLL sınıfta belli noktalarda kafa ben $ temp oluşturduğunuzda başvurular oluşturarak ve $ this-> ediyorum:
class Node
{
public $data;
public $next;
}
class LLL
{
// The first node
private $head;
public function __construct()
{
$this->head = NULL;
}
public function insertFirst($data)
{
if (!$this->head)
{
// Create the head
$this->head = new Node;
$temp =& $this->head;
$temp->data = $data;
$temp->next = NULL;
} else
{
// Add a node, and make it the new head.
$temp = new Node;
$temp->next = $this->head;
$temp->data = $data;
$this->head =& $temp;
}
}
public function showAll()
{
echo "The linear linked list:<br/> ";
if ($this->head)
{
$temp =& $this->head;
do
{
echo $temp->data . " ";
} while ($temp =& $temp->next);
} else
{
echo "is empty.";
}
echo "<br/>";
}
}
Teşekkürler!