題目描述下面代碼中創建鏈表時的循環中使用了new,如何設置對應的delete釋放內存?PS.代碼中自己的delete位置好像不對,也搜到過說小程序delete不delete不影響這種說法。求教大神!相關代碼//鏈表測試#include <iostream>#include <stdlib.h> struct Node {public: int data;
Node *pNext;
};//int main(){ //頭結點
Node *head;
head = new Node;
head->data = 0;
head->pNext = NULL; //創建鏈表
Node *pnew, *ptemp;
ptemp = head; int n = 0; std::cout << "請輸入需要創建單向鏈表的結點個數:"; std::cin >> n; int i = n; while (n > 0) {
n--;
pnew = new Node; std::cout << "輸入第" << i - n << "個結點值:"; std::cin >> pnew->data;
pnew->pNext = NULL;
ptemp->pNext = pnew;
ptemp = pnew;
} //打印鏈表
std::cout << "打印鏈表值如下:";
Node *p = head->pNext;
while (p != NULL) { std::cout << p->data << " ";
p = p->pNext;
} std::cout << std::endl; delete head; delete pnew; return 0;
}
1 回答
守著星空守著你
TA貢獻1799條經驗 獲得超8個贊
補充釋放內存代碼
std::cout << "釋放鏈表內存:";
p = head->pNext;
while (p != NULL) {
ptemp = p; std::cout << p->data << " ";
p = p->pNext; delete ptemp;
} std::cout << std::endl;- 1 回答
- 0 關注
- 973 瀏覽
添加回答
舉報
0/150
提交
取消
