zoukankan      html  css  js  c++  java
  • PTA 线性表元素的区间删除

    6-8 线性表元素的区间删除 (20 分)
     

    给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。

    函数接口定义:

    List Delete( List L, ElementType minD, ElementType maxD );
    

    其中List结构定义如下:

    typedef int Position;
    typedef struct LNode *List;
    struct LNode {
        ElementType Data[MAXSIZE];
        Position Last; /* 保存线性表中最后一个元素的位置 */
    };
    

    L是用户传入的一个线性表,其中ElementType元素可以通过>、=、<进行比较;minDmaxD分别为待删除元素的值域的下、上界。函数Delete应将Data[]中所有值大于minD而且小于maxD的元素删除,同时保证表中剩余元素保持顺序存储,并且相对位置不变,最后返回删除后的表。

    裁判测试程序样例:

    #include <stdio.h>
    
    #define MAXSIZE 20
    typedef int ElementType;
    
    typedef int Position;
    typedef struct LNode *List;
    struct LNode {
        ElementType Data[MAXSIZE];
        Position Last; /* 保存线性表中最后一个元素的位置 */
    };
    
    List ReadInput(); /* 裁判实现,细节不表。元素从下标0开始存储 */
    void PrintList( List L ); /* 裁判实现,细节不表 */
    List Delete( List L, ElementType minD, ElementType maxD );
    
    int main()
    {
        List L;
        ElementType minD, maxD;
        int i;
    
        L = ReadInput();
        scanf("%d %d", &minD, &maxD);
        L = Delete( L, minD, maxD );
        PrintList( L );
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    10
    4 -8 2 12 1 5 9 3 3 10
    0 4
    

    输出样例:

    4 -8 12 5 9 10 

    List Delete( List L, ElementType minD, ElementType maxD ){
        ElementType *d=L->Data;
        Position n=L->Last;
        int j=0;
        for(int i=0;i<=n;i++){
            if(d[i]<=minD||d[i]>=maxD){
                d[j]=d[i];
                j++; 
            }    
        }
        L->Last=j-1;
        return L;
    }
  • 相关阅读:
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 41 缺失的第一个正数
    Java实现 LeetCode 41 缺失的第一个正数
    Java实现 LeetCode 41 缺失的第一个正数
  • 原文地址:https://www.cnblogs.com/DirWang/p/11929956.html
Copyright © 2011-2022 走看看