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

本文介绍了一种使用C++实现的列表元素删除方法,通过自定义函数实现指定范围内的元素删除,并展示了如何进一步修改程序来优化算法,降低时间和空间复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

#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);
}


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



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

心得体会:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值