deleteについて質問です。

class DataList {
public:
int nData[ 100 ];
DataList *pDataListNext;
};

の様なデータ構造を作っています。
配列が一杯になるごとに、新たなクラスインスタンスをnewしています。
逆に削除するときに、

pDataListNext = NULL;
delete pDataListNext;

とした場合、ヒープ領域のデータは正しく解放されるのでしょうか。
(最後尾のインスタンスの時はpDataListNextがNULLである、としているためdelete前にNULLを代入しています。)

よろしくお願いします。