PTA:7-4 顺序表(删除)

顺序表(删除)

题目

输入样例

cpp 复制代码
10
55 11 9 15 67 12 18 33 6 22
10 20

输出样例

cpp 复制代码
55 9 67 33 6 22

代码

cpp 复制代码
#include<iostream>
using namespace std;
void deletes(int* arr, int& sz, int left, int right)
{
    int newIdx = 0;
    for (int i = 0; i < sz; ++i)
    {
        if (arr[i] < left || arr[i] > right)
        {
            arr[newIdx] = arr[i];
            newIdx++;
        }
    }
    sz = newIdx;
}

int main()
{
    int num;
    cin >> num;
    int* seq = new int[num];
    for (int i = 0; i < num; ++i)
    {
        cin >> seq[i];
    }
    int left, right;
    cin >> left;
    cin >> right;

    deletes(seq, num, left, right);

    for (int i = 0; i < num; ++i)
    {
        cout << seq[i];
        if (i < num - 1)
            cout << " ";
    }

    delete[] seq;
    return 0;
}

① 函数deletes:删除数组中不在指定范围内的元素

arr: 整数数组的指针

sz: 整数数组的大小,通过传引用更新数组大小

left: 指定范围的左边界

right: 指定范围的右边界

②更新数组大小,删除了不在指定范围内的元素

相关推荐
CM莫问16 分钟前
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
人工智能·算法·大模型·推荐算法·受限生成
康谋自动驾驶1 小时前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
C++ 老炮儿的技术栈2 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
yychen_java3 小时前
R-tree详解
java·算法·r-tree
MarkHard1233 小时前
Leetcode (力扣)做题记录 hot100(62,64,287,108)
算法·leetcode·职场和发展
王RuaRua3 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
一只鱼^_4 小时前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法
一只码代码的章鱼4 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法
邹诗钰-电子信息工程4 小时前
嵌入式自学第二十一天(5.14)
java·开发语言·算法
寒小松4 小时前
Problem E: List练习
java·数据结构·list