顺序表:从有序顺序表中删除所有其值重读的元素,使表中所有元素都不相同
#include<stdio.h>
#include<malloc.h>
#define maxSize 10
//typedef int ElemType
typedef struct Sqlist
{
int data[maxSize];
int length;
}Sqlist;
//输出顺序表
int display(Sqlist &L){
for(int i=0;i<L.length;i++)
{
printf("第%d的元素为:%d\n",i+1,L.data[i]);
}
}
/*
从顺序表中删除所有重复的值,使顺序表的元素都不相同
*/
int deletesamevalue (Sqlist &L)
{
int i,j;
for( i=0,j=1;j<L.length;j++)
{
if(L.data[i]!=L.data[j])
L.data[++i]=L.data[j];
}
L.length=i+1;
return 1;
}
int main()
{
Sqlist L;
int n;
printf("顺序表要输入的个数:");
scanf("%d",&n);
printf("\n");
L.length=n;
for(int i=0;i<n;i++){
printf("输入第%d个元素:",i+1);
scanf("%d",&L.data[i]);
}
printf("之前的元素:\n");
display(L);
printf("之后的元素\n");
deletesamevalue(L);
display(L);
return 0;
}