南末29 2022-10-15 22:17 采纳率: 50%
浏览 188
已结题

顺序存储的线性表,设计程序。

给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。
函数接口定义:
List Delete( List L, ElementType minD, ElementType maxD );
其中List结构定义如下:
typedef int Position;
typedef struct LNode *List;
struct LNode
{
ElementType Data[MAXSIZE]; /ElementType 可以用C中基本数据类型,比如:int等/

Position Last; /* 保存线性表中最后一个元素的位置 */
};
L是用户传入的一个线性表,其中ElementType元素可以通过>、==、<进行比较;minD和maxD分别为待删除元素的值域的下、上界。函数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(List L); /* 此函数实现线性表的输入。元素从下标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;

}

List ReadInput() /* 此函数创建线性表并实现线性表的输入。返回线性表的地址。元素从下标0开始存储 */

{

}

void PrintList( List L )/* 此函数实现线性表的输出*/

{

}

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

{

}

  • 写回答

1条回答 默认 最新

  • honestman_ 2022-10-15 22:50
    关注
    
    List Delete( List L, ElementType minD, ElementType maxD )
    {
        
        int i,j=0,k = L->Last;
         for(i = 0;i<=k;i++)
        {
            if(L->Data[i]<=minD||L->Data[i]>=maxD)
            {
                L->Data[j++] =  L->Data[i];
            }
            else L->Last--;
         }
        return L;
        
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答