码迷,mamicode.com
首页 > 编程语言 > 详细

顺序表算法题

时间:2018-10-01 17:07:37      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:print   while   struct   input   void   list   编写   clu   nbsp   

在长度为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\n",len);
24         printf("%d",L.data[0]);
25         for(i=1;i<len;i++)
26             printf(" %d",L.data[i]);
27         printf("\n");
28      }
29     return 0; 
30 } 

 

顺序表算法题

标签:print   while   struct   input   void   list   编写   clu   nbsp   

原文地址:https://www.cnblogs.com/suqf/p/9734900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!