刪除鍊錶中重複的元素

2021-08-01 22:37:12 字數 643 閱讀 1610

#include#include typedef struct linknode

node,*linklist;//linklist表示結構體指標

linklist createlist_end(int n);//尾插法建立鍊錶

void showlist(linklist l);//輸出鍊錶內容

void deletenode(linklist l);//刪除單鏈表中重複的節點

int main(void)

linklist createlist_end(int n)

p->next=null;//將鍊錶的最後乙個節點的指標域置空

head=head->next;//因為頭結點為空,所以所以指向下乙個節點這樣才有資料域

return head;

}void showlist(linklist l)//輸出鍊錶內容

printf("\n");

}void deletenode(linklist l)//刪除單鏈表中重複的節點

;//效率高,但是有侷限性,鍊錶中的元素大小範圍為[0,99999]

vist[l->data]=1;

while(l->next)

else

}}

刪除鍊錶中重複的元素

題目描述 給定乙個排序鍊錶,刪除所有含有重複數字的節點,只保留原始鍊錶中 沒有重複出現 的數字。樣例 輸入 1 2 3 3 4 4 5 輸出 1 2 5 分析 從頭結點開始遍歷該鍊錶,如果當前結點的值與下乙個節點的值相同,那麼他們就是重複的節點,都要被刪除。因此為了使刪除重複節點之後的鍊錶仍然相連,...

刪除排序鍊錶中重複的元素

分析 思路比較簡單,如果元素相等則指向下乙個。但是要考慮清楚測試用例的覆蓋完備性,最開始筆者就沒考慮到兩個以上重複的元素出現,只考慮了乙個重複的導致錯誤。新增continue語句那裡解決了這個問題。definition for singly linked list.public class list...

刪除鍊錶中的重複元素

昨晚在參加蘭亭集勢的筆試時,看到了這樣乙個題目。大致意思就是給出乙個單鏈表,鍊錶中有重複的元素,需要刪除重複的元素。如 1 2 3 5 4 3 7,刪除重複元素後變成1 2 3 5 4 7。思路其實還蠻簡單 建立三個工作指標p,q,r,然後p 遍歷 全表。p每到乙個結點,q就從這個結點往後遍歷,並與...