表結構
create table city
(id int identity(1,1) primary key,
name nvarchar(100),
parentid int ,
parents nvarchar(100)
)資料:
迴圈**:
gowith cet_c as
(select id,name,parentid from city where id=4
union all
--迴圈步驟
--1.獲取當前節點資料
--2.根據父parentid來關聯
--3.關聯不到循序結束
select t.id,t.name,t.parentid from cet_c as c inner join city as t on c.parentid=t.id
)select * from cet_c;
結果:
總結:要做遞迴查詢必須要有乙個結束標誌,本例子及為沒有對於的parentid的資料存在。
實現迴圈佇列
利用陣列實現迴圈佇列,head tail並不能判斷佇列空與滿,需要另外加上乙個輔助 include include includeusing namespace std typedef struct node node define len 20 typedef int elemtype class...
迴圈佇列實現
迴圈佇列就是當資料寫到結尾後,在回到開頭接著寫,該過程類似迴圈鍊錶。如何實現這個到結尾後又轉到開頭呢?很簡單,取模操作!上兩個圖是迴圈佇列的兩種狀態,以下所寫的所有函式都可以對照著這兩幅圖來看。如下 filename buffer.h ifndef buffer h define buffer h ...
迴圈佇列實現
假設是長度為5的陣列,初始狀態,空佇列如所示,front與 rear指標均指向下標為0的位置。然後入隊a1 a2 a3 a4,front指標依然指向下標為0位置,而rear指標指向下標為4的位置。出隊a1 a2,則front指標指向下標為2的位置,rear不變,如下圖所示,再入隊a5,此時front...