第三周项目4-删除指定区间的元素

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

删除方法有很多种,我们还可以去尝试不同的代码!下面我贴上我自己的代码。

#include<iostream>
#include<stdlib.h>
#include"../list1.h"
#include"../list1.cpp"
using namespace std;
void shancaozuo(sqlist p,int a,int b)
{
    sqlist q;
    int i,k=0;
    for(i=0;i<p.length;i++)
    {
        if(p.elem[i]>=a&&p.elem[i]<=b)
        {
            continue;
        }
        else
        {
            q.elem[k]=p.elem[i];
            k++;
        }
    }
    display(q,k);
}
int main()
{
    int a,b;
    cin>>a>>b;
    sqlist p;
    initlist(p);
    creat(p,10);
    shancaozuo(p,a,b);
    return 0;
}
我们还可以把自定义的删除操作函数改一下

void shancaozuo(sqlist p,int a,int b)
{
    sqlist q;
    int i,k=0,m,n,j;
    for(i=0;i<p.length;i++)
    {
        if(p.elem[i]>=a&&p.elem[i]<=b)
        {
            continue;
        }
        else
        {
            q.elem[k]=p.elem[i];
            k++;
        }
    }
    display(q,k);
    cin>>m>>n;
    for(j=0;j<k;j++)
    {
        if(q.elem[j]==m||q.elem[j]==n)
        {
            q.elem[j]=0;
        }
    }
    display(q,k);
}


下面是修改自定义函数前后的两种不同的运行结果的截图:



知识点总结:
  其实也没啥大的知识点,主要考查基础知识,主要是希望能够通过这个程序对应用算法库解决问题更加熟悉!

心得体会:

  其实我们可以以这个程序为基础,在它的基础上去做很多有意思的修改,并且精简程序,以降低程序的时间复杂度和空间复杂度为目的去修改程序;而且这样的程序比较简单,理解起来也不难;作为入门级的理解也挺不错的!这是一个思路,我以后一定要尝试一下。

第三周项目4(1)-顺序表应用 删除区间【x,y】内的元素 问题及代码: /* copyright (t) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:1.cpp *作者:车金阳*完成日期:2016年9月22日 *版本号:v1.0 *问题描述:定义一个采用顺序结构存储的线性表,删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1); 阅读详情

相关推荐

第三周项目4-顺序表应用1-删除元素在【X,Y】之间的所有元素

问题及代码: /* * Copyright(c) 2016, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: * 作 者:陈梦雪 * 完成日期:2016年 9月 18日 * 版 本 号:v1.0 * * 问题描述: 删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1);    * 输

Parislun的博客 1713

删除数组元素

内含labview程序,功能为删除数组中某特定元素

习题3.3 线性表元素区间删除 (20分)

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

c13868303523的博客 7375

顺序表区间元素删除

若一个线性表L采用顺序存储结构存储,其中所有的元素为整数。设计一个算法,删除元素值在[x,y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1)。

数组元素区间删除

6-3 数组元素区间删除(15 分)给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下...

Soliloquy 7516

3-2 数组元素区间删除

直接用另一个数组存储删除后的元素然后赋值回去 int Delete( int A[], int L, int minA, int maxA ) { int b[MAXN]; int i,j=0; for(i=0;i<L;i++) { if(A[i]<=minA||A[i]>=maxA) { b[j++]=A[i]; } } for(i=0;i<j;i++)

mingw11的博客 659

1-4 数组元素区间删除 (20分)

1-4 数组元素区间删除 (20分) 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于maxA的元素删除,同时保证表中剩余元素

绀香零八的博客 838

6-2 数组元素区间删除

其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于maxA的元素删除,同时保证表中剩余元素保持顺序存储,并且相对位置不变,最后返回删除后的表长。

2302_80325489的博客 1799

【04】数组元素区间删除

题目详情: 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于maxA的元素删除,同时保证表中剩余元素保持顺序存储,并且相对位置不变,最

WR的博客 966

LintCode【简单】30. 插入区间 。代码及思路——vector中如何删除指定区间元素,插入指定位置元素

vector 我喜欢用位置表示元素,这里和别人用个数解释的不一样 删除元素:vec.erase(vec.begin()+i)   删除第i号位置的元素,如果单纯这样写:vec.erase(vec.begin()),则删除第0号位置的元素删除指定区间元素:vec.erase(vec.begin()+i,vec.begin()+j)   删除的是[i, j-1]位置的元素。如果要包括j位

LimonSea的博客 1836

C++ Vector 删除指定位置元素

在我们适用vector想要删除指定元素时,可以使用earse函数。 iterator erase(iterator it):删除向量中迭代器指向元素 iterator erase(iterator first,iterator last):删除向量中[first,last)中元素 简单用例: #include <iostream> #include <vector> using namespace std; int main() { std::vector<int&gt

m0_56699208的博客 3万+

带头结点的单循环链表,删除所有值大于min,小于max的结点的算法

一个带头结点的单循环链表,结点类型为(data.next),以haed为头指针,每个结点的data域存放的是一个整数,试构造一个删除所有值大于min,小于max的结点的算法

1-4 数组元素区间删除 (20 分)

1-4数组元素区间删除(20分) 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为...

韩旭051的博客 2519

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

给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: List Delete( List L, ElementType minD, ElementType maxD ); 其中List结构定义如下: typedef int Position; typedef struct LNode ...

ZZULI_星.夜 2442

1-4 数组元素区间删除 (20 分)

题目: 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delet...

BQDQSZ的博客 1159

删除顺序表中区间内的元素

Problem Description 设计一个算法,删除顺序表中区间 [s, t) 内的元素,使得表中所有元素的值均不在给定区间内。其中顺序表的动态分配用C语言描述如下: #define InitSize 100 //表长度的初始定义 typedef int DataType; //定义表元素的数据类型 typedef struct { //顺序表的定义 DataType *data; //指示动态分配数组的指针 in

qq_52328795的博客 1934

1-5 线性表元素区间删除 (20 分)

1-5线性表元素区间删除(20分) 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: List Delete( List L, ElementType minD, ElementType maxD ); 其中List结构定义如下: typedef int Position...

韩旭051的博客 8099

PTA:6-8 数组元素区间删除 (20 分)

大一下半期数据结构 数据结构题目集 数组元素区间删除 (20 分) 给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素删除后表中剩余元素保持顺序存储,并且相对位置不能改变。 函数接口定义: int Delete( int A[], int L, int minA, int maxA ); 其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;min...

teletubbies的博客 2904
上一篇: 第三周项目3-求集合并集
下一篇: 第三周项目4-将顺序表中的奇数移动到偶数的前面
机丹尼尔奥利瓦
博客等级 码龄10年 11粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值