今晚数据结构老师发布了一道题目,如下
?虽然删除重复结点十分简单,但发现网络上的删除重复点并没有按照题目中这种方式进行的删除,便记录一下本题的code。(本人蒟蒻,大佬忽略)
#include<bits/stdc++.h>
#ifndef MaxSize
#define MaxSize 1000
#endif
typedef struct
{
int data[MaxSize];
int length;
}SqList;
void deleteSqList(SqList& L)
{
int i=2,j=1;
if(L.length==0) return;
while(i<=L.length)
{
j=1;
while(j<=i-1)
{
if(L.data[j]==L.data[i]) break;
j++;
}
if(j<=i-1)
{
for(register int k=i+1;k<=L.length;k++)
{
L.data[k-1]=L.data[k];
}
L.length--;
}
i++;
}
}
int main(int argv,char **argc)
{
SqList L;
std::cin>>L.length;
for(register int i=1;i<=L.length;i++)
{
std::cin>>L.data[i];
}
deleteSqList(L);
for(int i=1;i<=L.length;i++)
{
std::cout<<L.data[i]<<" ";
}
return 0;
}
over!
|