雙向鍊錶的遍歷,新增,修改,刪除

2021-10-07 21:24:21 字數 1626 閱讀 9456

/**

* 雙向鍊錶的遍歷,新增,修改,刪除

* 雙向鍊錶是在單鏈表的每乙個節點中,再設定乙個指向其前驅節點的指標域,即有兩個指標,乙個指向後繼(next),乙個指向前驅(pre)

* @author rocco_l

*新增思路(最後插入):

*1.先找到雙向鍊錶的最後乙個節點

*2.temp.next = 新節點

*3.新節點.前驅= temp

* * *新增思路(中間插入,例如將s插入到p和p.next中間):

*1.s.pre = p; 先搞定s前驅

*2.s.next=p.next; s後繼

*3.p.next.pre=s; 在搞定後節點的前驅

*4.p.next = s; 最後解決前節點的後繼

* *刪除思路

*1.雙向鍊錶可以實現自我刪除

*2.直接找到要刪除的節點, temp

*3.temp.pre.next = temp.next

*3.temp.next.pre = temp.pre

* */

//定義節點

class

heronode4

public string tostring()

}class

doublelinkedlist

//遍歷顯示雙向鍊錶

public

void

list()

//建立輔助變數來遍歷

heronode4 temp = head.next;

while

(true

)system.out.

println

(temp)

;//將temp後移,否則會陷入死迴圈

temp = temp.next;}}

//新增乙個節點到鍊錶最後

public

void

add(heronode4 heronode)

temp = temp.next;

}//當退出迴圈時,temp就指向了鍊錶的最後

temp.next = heronode;

heronode.pre = temp;

}//修改乙個節點的內容

public

void update (heronode4 newheronode)

heronode4 temp =head.next;

boolean flag =

false

;while

(true)if

(temp.no==newheronode.no)

temp = temp.next;}if

(flag)

else

}public

void

delete

(int no)

heronode4 temp = head.next;

boolean flag =

false

;while

(true)if

(temp.no == no)

temp = temp.next;}if

(flag)

}else

}}

SQL server 表中資料的新增 修改 刪除

1.向表中 新增 資料 給表中新增資料 1 插入一行資料 insert into 表名 values 值1,值2,值3.2 插入部分資料 insert into 表名 列名1,列名2,列名3 values 值1,值2,值 3 3 通過select插入一行資料 insert into 表名 selec...

雙向鍊錶的雙向遍歷

雙向鍊錶的雙向遍歷 雙向煉表相比較於單向鍊錶的優勢之一就是可以快速遍歷,對於單向鍊錶只能借助於單個指標逐個遍歷,而對於雙向鍊錶而言因為每個節點都存在乙個前指標和後指標,所以可以借助於兩個指標雙向遍歷,相對於單向鍊錶而言可以節省很多時間。但是對於雙向鍊錶的雙向遍歷需要考慮的因素偏多,的步驟需要非常嚴謹...

建立 修改 刪除表

1 建立表 1.1 完整約束條件表 約束條件 說明primary key 表示該屬性為表的主鍵,可以唯一的表示對應的元組 foreign key 標示該屬性為表的外來鍵,是與之聯絡的某錶的主鍵 not null 標示該屬性不能為空 unique 標示該屬性的值是唯一的 auto increment ...