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

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

相关推荐
2301_8227032018 分钟前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
Jia ming28 分钟前
C语言实现日期天数计算
c语言·开发语言·算法
无限进步_1 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
苏纪云1 小时前
蓝桥杯考前突击
c++·算法·蓝桥杯
W23035765731 小时前
经典算法详解:最长公共子序列 (LCS) —— 从暴力递归到动态规划完整实现
算法·动态规划·最长子序列
pzx_0011 小时前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
小肝一下2 小时前
每日两道力扣,day8
c++·算法·leetcode·哈希算法·hot100
无限进步_2 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
Meme Buoy2 小时前
18.补充数学1:生成树-最短路径-最大流量-线性规划
数据结构·算法
paeamecium2 小时前
【PAT甲级真题】- Count PAT‘s (25)
c++·算法·动态规划·pat考试·pat