已知一顺序表,其元素值非递减有序排列,编写一个算法,删除顺序表中多余的值相同的元素。

来源:百度知道 编辑:UC知道 时间:2024/05/09 10:17:32

#include <stdio.h>

void delRe(int a[],int &length) //length为返回数组长度
{int i,j,t;
t=length;
i=0; //i指向无重复区域的末尾
j=1; //j为要检查的元素
while(j<t)
if(a[i]==a[j])
{j++;
length--;
}
else
{i++;
a[i]=a[j];
j++;
}
}

main()
{int i,n,arr[10];
puts("输入长度:");
scanf("%d",&n);
puts("输入数组元素:(递增)");
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
puts("删除重复元素...");
delRe(arr,n);
puts("输出数组:");
for(i=0;i<n;i++)
printf("%d\t",arr[i]);

}

for(int i=0;i<n-1;i++) //n是表长
for(int j=i+1;i<n;j++)
{if(s[i]=s[j])
s[j]=s[j+1];}

我也是这个学期学了点数据,不知道是不是这么写的

你在学数据结构吧 这么简单的都不会 那你还是算了吧

这还不简单,一个循环就搞定了。

没有数据结构不知道怎么写。

已知一顺序表,其元素值非递减有序排列,编写一个算法,删除顺序表中多余的值相同的元素。 已知一个顺序表中的元素按元素值非递减有序排列,编写一个函数删除表中多余的值相同的元素。 已知两顺序表元素按值非递减排列。归并这两顺序表,新顺序表的值也按非递减排列。 已知线性表(a1,a2,a3, …,an)按顺序存于内存,每个元素都是整数,试设计用最少时间把所有值为负数?C 已知“非空集合M 的元素都是集合P的元素”为假命题:那么以下命题是否正确:“M中有P的元素” 已知一个整型数组a[5],其各元素值为4,6,8,10,12。使用指针求该数组元素之积 现在已知元素有110多种,则 已知非空集合A中有n个元素,非空集合B中有m个元素,则从A到B所能建立的映射有几个? 非直角三角形中,已知其三边,如何求其三角 使用数组,要求输入一组无序的数,对其进行排序成非递减的序列,并输出