国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++教程:清除鏈表

2020-05-23 14:26:44
字體:
來源:轉載
供稿:網友
鏈表的結點也是動態分配的,如果在程序結束之前不釋放內存,就會造成內存泄漏。因此,編寫一個清除鏈表的函數就顯得相當有必要。我們先來分析一下清除這個功能:
  1. 我們必須知道對哪個鏈表進行操作,所以表頭指針head是必須知道的,并且清除整個鏈表后要將其改為NULL。
  2. 類似于刪除結點,我們還需要一個指針p來指向待刪除結點。
  3. 類似于刪除表頭結點的操作,我們仍然要先連后斷:先把表頭指向頭結點的后繼,再刪除頭結點。

下面我們來寫一下這個函數:(程序9.6.5)
void destroy(node * &head)
{
   node *p;
   while (head!=NULL)//當還有頭結點存在時
   {
      p=head;//頭結點是待刪除結點
      head=head->next;//先連
      delete p;//后斷
   }
   cout <<"The link list has been deleted!" <<endl;
}

至此,我們已經學習了鏈表的所有基本操作。下面來介紹一下數組存儲和鏈表存儲各自的優缺點。
C++教程:清除鏈表
雖然很多初學者都認為鏈表非常難以理解,但是只要掌握了插入刪除結點時“先連后斷”的原則和如何遍歷整個鏈表,所有的問題就迎刃而解了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临沧市| 苏尼特右旗| 荃湾区| 颍上县| 兰考县| 武穴市| 平原县| 肇庆市| 新干县| 建昌县| 思南县| 大安市| 新营市| 大悟县| 渝北区| 榆中县| 抚远县| 十堰市| 大洼县| 南平市| 崇义县| 界首市| 石家庄市| 连云港市| 九江市| 教育| 佛坪县| 河源市| 临汾市| 洱源县| 潜山县| 湟中县| 潜山县| 荣成市| 监利县| 邻水| 巧家县| 甘泉县| 冷水江市| 隆安县| 东乌珠穆沁旗|