假设顺序表L中的元素按从小到大的次序排列,设计算法以删除表中重复的元素,用C++写,谢谢

对顺序表(1,1,2,2,2,3,4,5,5,5,6,6,7,7,8,8,8,9)模拟执行本算法,并统计移动元素的次数

#include<stdio.h>
int main()
{
int a[18]={1,1,2,2,2,3,4,5,5,5,6,6,7,7,8,8,8,9};
int b[18]={1},i,j=1,k,cnt=0;
for(i=1;i<18;i++)
{
if(a[i]!=a[i-1])
{
b[j++]=a[i];
}
}
puts("删除后的数据");
for(i=0;i<j;i++)printf("%d ",b[i]);
puts("");
for(i=0;i<j;i++)
{
cnt=0;
for(k=0;k<18;k++)
{
cnt+=(a[k]==b[i]);
}
printf("%d出现%d次\n",b[i],cnt);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答