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: 指定范围的右边界

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

相关推荐
mit6.8241 分钟前
中位数贪心|前缀和_距离和ret=l+r_1
算法
一匹电信狗3 分钟前
【LeetCode】栈和队列进阶题目
c++·算法·leetcode·职场和发展·stl·栈和队列
机器学习之心4 分钟前
198种组合算法+优化TCN时间卷积神经网络+SHAP分析+新数据预测+多输出!深度学习可解释分析,强烈安利,粉丝必备!
深度学习·算法·shap分析·tcn时间卷积神经网络
代码游侠6 分钟前
数据结构——线性表
linux·c语言·数据结构·学习·算法
潼心1412o6 分钟前
数据结构(长期更新)第10讲:堆
数据结构
吃着火锅x唱着歌7 分钟前
LeetCode 3371.识别数组中的最大异常值
数据结构·算法·leetcode
元亓亓亓10 分钟前
LeetCode热题100--74. 搜索二维矩阵--中等
算法·leetcode·矩阵
dringlestry12 分钟前
B树的最大/最小高度
数据结构·b树
zzzsde21 分钟前
【C++】异常:概念及使用
开发语言·c++·算法
黎梨梨梨_22 分钟前
双向链表的实现
数据结构·链表