zoukankan      html  css  js  c++  java
  • SDUT 1130 数据结构上机测试1:顺序表的应用

     

     

    数据结构上机测试1:顺序表的应用

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

    在长度为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

    提示:本题要求完成顺序表中多余元素的删除,具体可以参照之前的移位算法和建表算法,都可以实现顺序表的元素删除操作。

    代码实现如下(gcc):
    #include<stdio.h>
    #include<stdlib.h>
    int i,j,k,c=0;
    typedef struct
    {
        int data[10010];
    } SL;
    
    void creatlist(SL *l,int n)
    {
        for(i=0; i<n; i++)
        {
            scanf("%d",&l->data[i]);
        }
    }
    
    int deletelist(SL *l,int n)
    {
        for(i=0; i<n-1; i++)
        {
            for(j=i+1; j<n; j++)
            {
                if(l->data[i]==l->data[j])
                {
                    c++;
                    n--;
                    for(k=j; k<n; k++)
                    {
                        l->data[k]=l->data[k+1];
                    }
                    j--;
                }
            }
        }
        return n;
    }
    
    void printlist(SL *l,int n)
    {
        for(i=0; i<n; i++)
        {
            i<n-1? printf("%d ",l->data[i]):printf("%d
    ",l->data[i]);
        }
    }
    
    int main()
    {
        int n,m;
            scanf("%d",&n);
            m=n;
            for(i=0;i<n;i++)
            {
            SL l;
            creatlist(&l,n);
            n=deletelist(&l,n);
            printf("%d
    ",m-c);
            printlist(&l,n);
            }
        return 0;
    }
    
    
    /***************************************************
    Result: Accepted
    Take time: 0ms
    Take Memory: 156KB
    ****************************************************/
  • 相关阅读:
    window 7/8/10 安装nginx
    全面了解 Nginx 到底能做什么
    MySQL优化
    office 2013 破解工具 及 软件下载
    centos6+如何对外开放80,3306端口号或者其他端口号
    CentOS 中查看软件的版本号
    CentOS 中安装 mysql 5.7+
    STL入门大全(待编辑)
    Feign
    微信公众号
  • 原文地址:https://www.cnblogs.com/jkxsz2333/p/9487108.html
Copyright © 2011-2022 走看看