遞迴刪除乙個節點以及該節點下的所有節點示例

2022-09-27 08:24:10 字數 739 閱讀 7022

有的時候刪除資訊的時候,需要把這條資訊下的所有的都刪除,這個時候就需要遞迴刪除了。下面是我在做部門管理中的刪除部門功能的時候寫的一段遞迴刪除乙個部門以及它的所有子部門的一段**。僅供大家參考和自己以後備用。

下面是我的一段**的展示:

複製** **如下:

/* * 修改一條部門資訊

*/ function del($bumen_id)

} $result=$this->db->query($delsql);

if($result)

else }

注釋:這裡的topbumen_id是部門資訊中的上級部門的id號,fetch_assoc()函式是自己已經封裝好的函式,是把查詢得到的所有內容返回程式設計客棧成乙個陣列。

心得體會:這是自己第一次寫遞迴演算法,寫得還很稚嫩,不管怎樣功能是實現了。我感覺寫遞迴方面的**的時候,自己先畫好乙個樹狀結構,認清其結構後,根據自己想要得到的效果,先在腦子裡模擬一步一步的執行。比如這裡的刪除,想要刪除乙個部門,就得刪除自己並且查詢以自己為上級部門的子部門有哪些,把子部門乙個乙個地遍歷得到,這時候子部門的操作,就和它的www.cppcns.com上程式設計客棧級部門的刪除一樣,需要刪除自己並且查詢它的子部門,這樣一來就有個類似重複的操作,子部門的操作和上riogamlbb級部門的操作經歷的步驟是一樣的,因此在子部門的遍歷中讓它執行這個本程式設計客棧身的函式。這樣一來就形成了乙個遞迴演算法。

本文標題: 遞迴刪除乙個節點以及該節點下的所有節點示例

本文位址:

刪除乙個已知節點

delete a node in a list input plisthead the head of list ptobedeleted the node to be deleted void deletenode listnode plisthead,listnode ptobedeleted ...

鍊錶中新增乙個節點和刪除乙個節點

這裡主要記錄單向列表新增和刪除乙個指定位置節點的書寫方法。首先先建立鍊錶節點資料的基本型別 ifndef node h define node h include person.h class node endif node h 接下來建立節點的節本型別 class list endif 往指定節點...

刪除當前單鏈表節點(不能找到前乙個節點)

力扣上看到的乙個題,大概是寫乙個函式,這個函式的傳參值,是乙個單鏈表的某乙個節點,需要在鍊錶中刪除這個節點。不影響其他節點。首先按照常理,應該是找到前乙個節點,並將前乙個節點指向下乙個指標的節點進行更改。但是有問題,首先,這是乙個單鏈表,傳參值是要刪除的節點,也就是說找不到它的前乙個節點。思路 首先...