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

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

相关推荐
-qOVOp-19 分钟前
408第一季 - 数据结构 - 图II
数据结构
凌辰揽月19 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
-qOVOp-19 分钟前
408第一季 - 数据结构 - 树与二叉树III
数据结构
lifallen25 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
jingfeng51425 分钟前
数据结构排序
数据结构·算法·排序算法
能工智人小辰1 小时前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法
kingmax542120081 小时前
CCF GESP202503 Grade4-B4263 [GESP202503 四级] 荒地开垦
数据结构·算法
岁忧1 小时前
LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 上
sql·算法·leetcode
eachin_z2 小时前
力扣刷题(第四十九天)
算法·leetcode·职场和发展
闻缺陷则喜何志丹2 小时前
【强连通分量 缩点 拓扑排序】P3387 【模板】缩点|普及+
c++·算法·拓扑排序·洛谷·强连通分量·缩点