问题:
代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
typedef struct LNode
{
int data;
struct LNode * next;
} linklist;
void creastlistr(linklist * &l,int a[],int n)
{
linklist *s,*r;
int i;
l=(linklist*)malloc(sizeof(linklist));
r=l;
for(i=0; i<n; i++)
{
s=(linklist*)malloc(sizeof(linklist));
s->data=a[i];
r->next=s;
r=s;
}
r->next=NULL;
}
void listde(linklist *&l)
{
linklist *p=l->next,*q;
while(p->next!=NULL)
{
if (p->data==p->next->data)
{
q=p->next;
p->next=q->next;
free(q);
}
else
p=p->next;
}
}
void print(linklist * l)
{
linklist *p=l->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
int main()
{
int n,a[80],i;
linklist *l;
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&a[i]);
creastlistr(l,a,n);
listde(l);
print(l);
return 0;
}
小结:
基本上是c的代码,线性表基础题。