下列算法將單鏈表中值重復(fù)的結(jié)點(diǎn)刪除,使所得的結(jié)果表中各結(jié)點(diǎn)值均不相同,試完成該算法。
void DelSameNode(LinkList L)
//L是帶頭結(jié)點(diǎn)的單鏈表,刪除其中的值重復(fù)的結(jié)點(diǎn)//
{ListNode * p,*q,*r;
p=L->next; //p初始指向開始結(jié)點(diǎn)//
while(p){ //處理當(dāng)前結(jié)點(diǎn)p//
q=p;
r=q->next;
do { //刪除與結(jié)點(diǎn)*p的值相同的結(jié)點(diǎn)//
while(r&&r->data!=p->data){
q=r;
r=r->next;
}
if(r){ //結(jié)點(diǎn)*r的值與*p的值相同,刪除*r//
q->next=r->next;
free(r);
r=();
}
}while( r );
p=p->next;
}
}
您可能感興趣的試卷
你可能感興趣的試題
最新試題
在打印楊輝三角形前N行的算法中,需要申請(qǐng)一個(gè)N*N的二維數(shù)組存放楊輝三角形N行數(shù)據(jù)。
只要無向圖中有權(quán)重相同的邊,其最小生成樹就不可能唯一。
下列可以直接用循環(huán)結(jié)構(gòu)即可將遞歸轉(zhuǎn)換為非遞歸的是()
若三維數(shù)組a[4][5][6]的基地址是100,每個(gè)元素占用2個(gè)存儲(chǔ)單元,則數(shù)組a中最后一個(gè)元素的存儲(chǔ)地址是()。
當(dāng)需要用一個(gè)形式參數(shù)直接改變對(duì)應(yīng)實(shí)參的值時(shí),該形式參數(shù)應(yīng)說明為()
對(duì)以下幾個(gè)關(guān)鍵字的序列進(jìn)行快速排序,以第一個(gè)元素為基準(zhǔn),一次劃分效果不好的是()
一棵二叉樹的先序序列是:CEDBA,中序序列是:DEBAC ,則該二叉樹的后序序列是()
閱讀下列算法,并回答問題:設(shè)棧S=(1,2,3,4,5,6,7),其中7為棧頂元素。調(diào)用函數(shù)f30(S)后,(1)第一個(gè)循環(huán)結(jié)束后,棧T和隊(duì)列Q中的內(nèi)容各是什么?(2)第三個(gè)循環(huán)語句結(jié)束后,棧S中的內(nèi)容是什么?
某圖的鄰接表存儲(chǔ)結(jié)構(gòu)如下圖所示,則從6號(hào)點(diǎn)出發(fā),深度優(yōu)先遍歷的序列是()
已知帶頭結(jié)點(diǎn)的鏈隊(duì)列指針Q,則該非空隊(duì)列取隊(duì)頭元素操作的語句是()