單向鏈表(無頭無循環(huán))
1.頭插
cur->next=head;
head=cur;
2.后插
cur->next=pos->next;
pos->next=cur;
3.頭刪
tmp=head->next;
free(head);
head=tmp;
4.后刪
tmp=pos->next;
pos->next=tmp->next;
free(tmp);
5遍歷頭
for(cur=head;cur;cur=cur->next)
{
//通過cur遍歷鏈表
}
6.反轉(zhuǎn)單鏈表
<1>
oldhead->next=tmp->next;
tmp->next;=head;
head=tmp;
tmp=oldhead->next;
<2>
nt=nt->next;
cur->next==pre;
pre=cur;
cur=nt;
7.循環(huán)鏈表找入環(huán)節(jié)點(diǎn)
(1)找兩個(gè)指針,一個(gè)一次走一步,一個(gè)一次走兩步
(2)記錄他們的相遇節(jié)點(diǎn),此時(shí)相遇節(jié)點(diǎn)和起始節(jié)點(diǎn)已經(jīng)右對(duì)齊
(3)右對(duì)齊后,一起遍歷,找第一次相遇的節(jié)點(diǎn),就是入環(huán)節(jié)點(diǎn)
雙鏈表(帶頭循環(huán))
1.插入操作
pos->next=cur;
cur->prev=pos;
tmp->prev=cur;
cur->next=tmp;
2.刪除操作
pos->prev->next=pos->next;
pos->next->prev=pos->prev;
free(pos);
3.遍歷操作
for(cur->head->next;cur!=head;cur=cur->next)
{
//cur進(jìn)行遍歷
}
4.合并操作
1.比較cur1和cur2的值,如果1比較小,那么cur1直接向后跳轉(zhuǎn)
2.如果2的值比較小,那么將2的這個(gè)節(jié)點(diǎn)前插到1的節(jié)點(diǎn)前面,然后2向后跳轉(zhuǎn)
3.如果循環(huán)結(jié)束后,2跳出,那么直接結(jié)束
4.如果循環(huán)結(jié)束后,1跳出,那么將2的剩余所有節(jié)點(diǎn)插入到1的末尾
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。