顺序表算法题

Posted suqf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表算法题相关的知识,希望对你有一定的参考价值。

在长度为n(n<1000)的顺序表中可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只能有一个)。

Input

第一行输入表的长度n;

第二行依次输入顺序表初始存放的n个元素值。

Output

第一行输出完成多余元素删除以后顺序表的元素个数;

第二行依次输出完成删除后的顺序表元素。

Sample Input

12

5 2 5 3 3 4 2 5 7 5 4 3

Sample Output

5

5 2 3 4 7

 1 #include <stdio.h>
 2 #define Maxsize 1000
 3 typedef struct{
 4     int data[Maxsize];
 5     int length;
 6 }List;
 7 int main(void){
 8     List L;
 9     int i,j,len;
10     while(scanf("%d",&len)!=EOF){//线性表的长度
11         L.length=len;
12         for(i=0;i<len;i++){
13             scanf("%d",&L.data[i]);//输入的元素值 
14             if(i>0){
15                 for(j=0;j<i;j++){
16                     if(L.data[i]==L.data[j]){
17                         i--;
18                         len--;    
19                     }        
20                 }
21             }
22         }
23         printf("%d
",len);
24         printf("%d",L.data[0]);
25         for(i=1;i<len;i++)
26             printf(" %d",L.data[i]);
27         printf("
");
28      }
29     return 0; 
30 } 

 

以上是关于顺序表算法题的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode数据结构算法题合并两个有序数组(顺序表篇)

Leetcode数据结构算法题数组形式的整数加法(顺序表篇)

PTA数据结构第2章实验题集1—顺序表操作

Leetcode数据结构算法题原地移除元素(顺序表练习题)

Leetcode数据结构算法题原地移除元素(顺序表练习题)

Leetcode数据结构算法题删除有序数组中的重复项(顺序表篇)