0
如何根據這些條件釋放內存?: 如果使用的內存是系統容量的25%,則釋放50%未使用的內存。C:有條件的內存分配
這裏是我的代碼的嘗試:
attempt at conditional memory free-up
如何根據這些條件釋放內存?: 如果使用的內存是系統容量的25%,則釋放50%未使用的內存。C:有條件的內存分配
這裏是我的代碼的嘗試:
attempt at conditional memory free-up
你的問題似乎是
if(rand() % 1 > 0) {
rand() % 1
總是0
更改爲:
if(rand() % 2 > 0) {
並且在一個錯字:
while(current = !NULL) {
變化
while(current != NULL) {
不要忘了重新next
節點前一個循環中,使用臨時節點,如:
temp = current;
while (current != NULL) {
next = current->next;
if (rand() % 2 > 0) {
temp->next = next;
free(current);
} else {
temp = current;
}
current = next;
}
「將下一個節點重新連接到前一節點」是什麼意思? – TaiAu
我該怎麼做?我真的堅持:( – TaiAu
編輯(未測試) –