下列算法將單鏈表中值重復(fù)的結(jié)點刪除,使所得的結(jié)果表中各結(jié)點值均不相同,試完成該算法。
void DelSameNode(LinkList L)
//L是帶頭結(jié)點的單鏈表,刪除其中的值重復(fù)的結(jié)點//
{ListNode * p,*q,*r;
p=L->next; //p初始指向開始結(jié)點//
while(p){ //處理當(dāng)前結(jié)點p//
q=p;
r=q->next;
do { //刪除與結(jié)點*p的值相同的結(jié)點//
while(r&&r->data!=p->data){
q=r;
r=r->next;
}
if(r){ //結(jié)點*r的值與*p的值相同,刪除*r//
q->next=r->next;
free(r);
r=();
}
}while( r );
p=p->next;
}
}
您可能感興趣的試卷
你可能感興趣的試題
最新試題
遞歸算法具有兩個特性分別是()
一個抽象類型包括數(shù)據(jù)對象、()和一組處理數(shù)據(jù)的操作。
單鏈表類型定義如下:設(shè)計算法在帶頭結(jié)點的單鏈表L中刪除數(shù)據(jù)值最小的結(jié)點(設(shè)鏈表中各結(jié)點數(shù)據(jù)值均不相同)。函數(shù)的原型為:void f34(LinkList L)
若無向圖中任意兩個不同的頂點間都有路徑,則稱該圖為()。
順序表中有10個數(shù)據(jù)元素,若第一個元素的存儲地址是1000,則最后一個元素地址是1036,第5個元素的地址是()
則該隊列為滿隊列的條件為()(采用少用一個空間的方法)
閱讀下列算法,并回答問題:設(shè)棧S=(1,2,3,4,5,6,7),其中7為棧頂元素。調(diào)用函數(shù)f30(S)后,(1)第一個循環(huán)結(jié)束后,棧T和隊列Q中的內(nèi)容各是什么?(2)第三個循環(huán)語句結(jié)束后,棧S中的內(nèi)容是什么?
則該隊列中元素個數(shù)為()
則該隊列為空隊列的條件為()
一棵二叉樹的后序序列是:CBEFDA,中序序列是:CBAEDF,則該二叉樹的先序序列是()