题目:设计算法实现删除表中多余的重复元素,如:对于顺序表(1,2,3,1,3,4,3,5),删除第四个元素1及第五、第七个元素3。
=======================我的代码========================
#define max_len 50
#include <stdio.h>
#include "malloc.h"
typedef struct{
int data[max_len];
int last;
}Sequenlist;
Sequenlist *Dele_Same(Sequenlist *A){
int i,j,k;
for(i=0;i<A.last;i++)
{
for(j=i+1;j<A.last;j++)
{
if(A.data[i]!=A.data[j])
continue;
}
for(k=j;k<A.last;k++)
A.data[k]=A.data[k+1];
j--;
A.last--;
}
if(A.data[i]==A.data[A.last-1])
A.last--;
return (A);
}
void main()
{
Sequenlist *A;
int i;
int real_len;
int count;
printf("Please input te number of this list:");
scanf("%d",&count);
A.last=count;
A.data=(Sequenlist*)malloc(sizeof(Sequenlist)*count);
printf("Please input data:\n");
for(i=0;i<count;i++)
scanf("%d",&A.data[i]);
Dele_Same(A);
}
===================编译时的报错===================
error C2228: left of '.last' must have class/struct/union type
error C2228: left of '.data' must have class/struct/union type
================================================
由于周四要交所以很纠结…真心着急…表示俺能力有限实在搞不定了,求大神,我该怎么改?还有改过了以后能完成功能么?完不成功能我又该怎么修改呢???