删除相同元素(线性表)
删除相同元素(线性表)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 204 Solved: 148
[Submit][Status][Web Board]
Description
(线性表)在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素。
Input
输入长度:6
输入数据:2 3 4 5 5 7
Output
2 3 4 5 7
Sample Input
68 9 10 11 22 22
Sample Output
8 9 10 11 22
#include<iostream> using namespace std; struct aa { int a; aa *p; }; int main() { aa *pp,*ap,*sp; int i,n; cin>>n; pp=ap=new aa; pp->p=NULL; cin>>pp->a; for(i=1;i<n;i++) { pp->p=new aa; pp=pp->p; pp->p=NULL; cin>>pp->a; } pp=ap; for(i=0;i<n;i++) { sp=pp->p; if(sp->p!=NULL) { if(pp->a==sp->a) pp->p=sp->p; pp=sp; } } if(pp->a==sp->a) pp->p=sp->p; // if(sp->a==) pp=ap; for(;pp->p!=NULL;) { cout<<pp->a<<' '; pp=pp->p; } cout<<pp->a<<' '<<endl; return 0; }