数据结构实验之链表七:单链表中重复元素的删除
2017-08-07 23:04
435 查看
数据结构实验之链表七:单链表中重复元素的删除
Time Limit: 1000MSMemory Limit: 65536KB[align=center][/align]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 7 30 55 11 63 32 14 21
#include<iostream>#include<string.h>#include<string>#include<cstring>#include<stdlib.h>using namespace std;struct node{int data;node *next;};node *head;void Init() //初始化{head = new node;head->next = NULL;}void Creat(int e){node *p = new node;p->data = e;p->next = head->next;head->next = p;}void Del(int n){node *q = new node;node *t = new node;q = head->next;while (q){t=q;node *p = new node;p = q->next;while (p){if (q->data == p->data){n--;t->next = p->next;delete p;p = t->next;}else{p = p->next;t = t->next;}}q = q->next;}cout << n << endl;}void Print(){node *q = new node;q = head->next;while (q->next){cout << q->data << " ";q = q->next;}cout << q->data << endl;}int main(){int n,m; cin >> n;Init();for (int i = 0; i < n; i++){cin >> m;Creat(m);}cout << n << endl;Print();Del(n);Print();return 0;}
相关文章推荐
- 数据结构实验之链表七:单链表中重复元素的删除
- 2122数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- SDUT OJ 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 2122数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构实验之链表七:单链表中重复元素的删除
- sdut.acm 2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表七:单链表中重复元素的删除
- SDUT 2122 数据结构实验之链表七:单链表中重复元素的删除