#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就從這個結點往後遍歷,並與...