problem description
按照資料輸入的相反順序(逆位序)建立乙個單鏈表,並將單鏈表中重複的元素刪除(值相同的元素只保留最後輸入的乙個)。
input
第一行輸入元素個數 n (1 <= n <= 15);
第二行輸入 n 個整數,保證在 int 範圍內。
output
第一行輸出初始鍊錶元素個數;
第二行輸出按照逆位序所建立的初始鍊錶;
第三行輸出刪除重複元素後的單鏈表元素個數;
第四行輸出刪除重複元素後的單鏈表。
example input
10
21 30 14 55 32 63 11 30 55 30
example output
10
30 55 30 11 63 32 55 14 30 21
730 55 11 63 32 14 21
hint
author
不得使用陣列!
#include
#include
#include
#include
#include
#include
int i2=0, i3=0;
using namespace std;
typedef struct list
sqlist;
sqlist *newlist(int n)//無頭節點.順序
return head;
}sqlist *newlist1(int n)//有頭節點, 逆序
return head;
}sqlist *crate(sqlist *head)
else tail=tail->next;
}mail=mail->next;
}return head;
}void print(sqlist *head3)
printf("\n");
}void free1(sqlist *head3)
}int main()
資料結構 鍊錶之單鏈表
單鏈錶即每個節點都存在資料域和指標域 特殊節點除外 每個節點都乙個直接前驅節點和直接後繼節點 頭節點無前驅,尾節點無後繼 簡單來說就是上乙個節點的指標域中存放了下乙個節點的位址,因此可以實現層層節點依次查詢,時間複雜度為o n 這也就是相對順序表而言的缺點,但是對於頻繁的插入和刪除節點卻是相對於順序...
資料結構實驗之鍊表七 單鏈表中重複元素的刪除
time limit 1000ms memory limit 65536k 按照資料輸入的相反順序 逆位序 建立乙個單鏈表,並將單鏈表中重複的元素刪除 值相同的元素只保留最後輸入的乙個 第一行輸入元素個數n 第二行輸入n個整數。第一行輸出初始鍊錶元素個數 第二行輸出按照逆位序所建立的初始鍊錶 第三行...
資料結構實驗之鍊表七 單鏈表中重複元素的刪除
資料結構實驗之鍊表七 單鏈表中重複元素的刪除 time limit 1000ms memory limit 65536k 按照資料輸入的相反順序 逆位序 建立乙個單鏈表,並將單鏈表中重複的元素刪除 值相同的元素只保留最後輸入的乙個 第一行輸入元素個數n 第二行輸入n個整數。第一行輸出初始鍊錶元素個數...