数据结构,算法设计题。:1设计算法实现删除顺序表中多余重复元素,如:对于顺序表(1 . 2 .3 .

2025-02-25 07:26:15
推荐回答(2个)
回答1:

先对顺序表的元素进行排序,然后比较有重复则删除

解决方法:

  • #include //删除一列数中重复的数字使之只保留一个

  • #define N 6

  • void delete(int a[],int j){int i;

  • }  j=0;

  • for(i=0;i

  • {   if(a[j]==a[j+1])   {

  • deletel(a,j);

  • j--;//没删除一个数字j减一,保证遍历到每个数字

  • 还有一种方法的用两个顺序表,一个为源表(存原数列),一个为目标表,将源表中的元素王目标表中移(有与之相同的则删除,没有则保存)

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

回答2:

现在的学生是怎么了 这么简单的问题还不会,先对顺序表的元素进行排序,然后比较有重复则删除,算了我还是给你贴下代码吧
#include //删除一列数中重复的数字使之只保留一个
#define N 6
void delete(int a[],int j)
{
int i;
for(i=j;i a[i]=a[i+1];
}
void sortdAndDelete(int a[])
{
int i,j,k=0,t;
for(i=0;i for(j=i+1;j if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
j=0;
for(i=0;i {
if(a[j]==a[j+1])
{
deletel(a,j);
j--;//没删除一个数字j减一,保证遍历到每个数字
k++;
}
j++;
}
for(i=0;i printf("%d ",a[i]);
}
void main()
{
int i;
int a[N]={0,1,1,2,2,2};
sortd(a);
}

还有一种方法的用两个顺序表,一个为源表(存原数列),一个为目标表,将源表中的元素王目标表中移(有与之相同的则删除,没有则保存),最后得到的目标表不就是你想要的么,这种方法 我就不写代码了 ,请君自己实现,纯手打,请给分!!!!!!