024
#include<bits/stdc++.h>
#include<iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *link;
}LNode,* LinkList;
//初始化 尾插法
void InitList(LinkList &L)
{
cout<<"输入创建结点的数量";
LinkList head=(LinkList) malloc(sizeof(LNode));
int n=0;
cin>>n;
L=(LinkList) malloc(sizeof(LNode));
LNode *p=L;//扫描节点
L->link=NULL;
while(n--)
{
LNode *s= (LNode *)malloc(sizeof(LNode));//新建结点
cin>>s->data;
s->link=p->link;
p->link=s;
p=s;
}
}
#define length 10010
//函数
bool a[length];
void f(LinkList &head,int m)
{
memset(a,false,sizeof(a));
LNode *q=head;//前驱结点
LNode *p=head->link;//扫描结点
for(int i=1;i<=m;i++)
{
int temp=abs(p->data);//中间变量
if(a[temp])
{
q->link=p->link;
LNode *s=p;
p=p->link;
free(s);
}
else
{
a[temp]=true;
q=p;
p=p->link;
}
}
}
int main()
{
int m=0;
cout<<"ssasS是";
LinkList head;
InitList(head);
f(head,5);
LNode *p=head->link;
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->link;
}
}