在 C 中分割数组

2024-03-24

假设我有一个数组,我想从某些索引范围中删除元素。

如果我提前知道数组的大小、数组中每个元素的大小以及要删除的索引范围,是否有任何方法可以避免复制新数组?


如果您不想使用新数组进行复制,您可以考虑在同一个数组本身中执行此操作,这就是我所拥有的:

#include<stdio.h>
#include<string.h>
int main()
{
  char str[] = "hello world";
  int i , strt , end , j;

  setbuf ( stdout , NULL );

  printf ("enter the start and end points of the range of the array to remove:\n");
  scanf ("%d%d", &strt , &end);
  int len = strlen (str);
  for ( i = end; i >= strt ;i--)
    {
      str[i-1] = str[i];
      for ( j = i+1; j <= len ; j++)
        {
        str[j-1] = str[j];
        }
      len--;
    }

  printf ("%s" , str);
  return 0;
}

虽然这段代码是为了字符数组,您还可以使用该算法整数数组稍作修改(把它当作练习 ).

注意:- 不过,这种方法不是很有效,因为您可以看到复杂性呈指数级增长,所以我的建议只是使用复制新数组方法 .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C 中分割数组 的相关文章

  • Visual Studios 2015 中的“恢复 NuGet 包”没有执行任何操作

    我将解决方案从 SVN 拉入 Visual Studios 2015 代码中的一些 使用 引用出现错误 因此我尝试在右键单击 解决方案 中的解决方案时运行 恢复 NuGet 包 选项探索者 这没有任何作用 我必须手动进入 nuget 管理器
  • Boost MPI 在监听列表时不会释放资源?

    这是一个后续问题如何释放 boost mpi request https stackoverflow com questions 44078901 how do i free a boostmpirequest 我在监听列表而不是单个项目时
  • 信号与信号2

    我的应用程序可能会受益于使用 boost 的信号库之一而不是本土解决方案 该应用程序是多线程的 但执行信号处理的部分是单线程的 如果多线程不是问题 是否有任何理由更喜欢 Boost Signals2 而不是 Boost Signal Boo
  • C++ 指针和对象实例化

    这有效 MyObject o o new MyObject 而这并不 MyObject o new MyObject Why 关键词new 返回一个指针 http msdn microsoft com en us library kewsb
  • 无法将参数从 `const char *` 转换为 `char *`

    鉴于此代码 void group build int size std string ips Build the LL after receiving the member list from bootstrap head new memb
  • 从内存流播放视频文件

    只是好奇看看这是否可能 我有一个 Windows 应用程序 它从我的电脑上的 avi 文件读取所有字节 然后将其存储在 byte 中 现在我的内存中有 avi 文件 我想直接从内存将其加载到某种视频播放器控件中 我尝试过使用 wmplaye
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • 通过API更新Twitter背景

    我在通过 Twitter 的 API 更新背景时遇到了一些问题 target url http www google com logos 11th birthday gif ch curl init curl setopt ch CURLO
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 检查两个函数或成员函数指针的签名是否相等

    我编写了一些代码来检查自由函数的签名是否等于成员函数的签名等 它比较提取的返回类型和函数参数 include
  • 列表到优先队列

    我有一个 C 大学编程项目 分为两个部分 在开始第二部分时应该使用priority queues hash tables and BST s 我 至少 在优先级队列方面遇到了麻烦 因为它迫使我自己重做第一部分中已经实现的许多代码 该项目是关
  • 节点*链表中的下一个

    我是数据结构和算法的新手 我遇到了以下代码 typedef struct node int data node next 谁能告诉我为什么我们要声明节点 next next 不能声明为 int next 吗 因为你希望能够做到n gt ne
  • 在 C# 命令行应用程序中包含并执行 EXE

    所以我找到了一个很棒的小 EXE 命令行应用程序 我们将其称为 program exe 它输出一些我想用 C 操作的数据 我想知道是否有一种方法可以将program exe 打包 到我的Visual Studio项目文件中 这样我就可以将编
  • 意外的 const 引用行为

    include
  • 重命名 MongoDB 数组中嵌入文档中的字段不起作用

    Step One gt db myCollection find id ObjectId 2358523892345 field1 value 1 field2 subfield1 value 2 Subfield2 value 3 fie
  • 基础设施 - 同步和异步接口和实现? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在实现库 基础设施时 并且该 API 的用户希望同步和异步使用代码 我读到混合同步和异步并不是一个好主意 例如 同步实现包括等待异步实现 显然
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 如何通过API退出Win32应用程序?

    我有一个使用 Win32 API 编写的 C Win32 应用程序 我希望强制它在其中一个函数中退出 有没有类似的东西Exit or Destroy or Abort 类似的东西会终止它吗 哎呀呀呀呀呀呀 不要做任何这些事情 exit 和

随机推荐

  • 如果类包含基类的成员,编译器可以利用空基优化吗?

    Consider struct base struct child base 众所周知sizeof child 可以通过应用 1空碱基优化 然而现在 考虑一下 struct base struct child base base b 编译器
  • 在jqgrid的列中添加图像

    我想在 jqgrid 的第一列中显示一个小图像 以显示从数据库获取的所有数据 jquery tableName jqgrid colNames colModel width 25 name someValue index somevalue
  • 访问数组数组内数组的行?

    说我有 H array a array b array c a 1 2 3 4 5 6 11 22 33 44 55 66 row 1 of H 0 111 222 333 444 555 666 b 7 8 9 0 1 2 77 88 9
  • 限制 JTextField 中输入的长度不起作用

    我试图限制用户可以在文本字段中输入的字符的最大长度 但它似乎不起作用 这是代码 text2 new JTextField Enter text here 8 我做错了什么吗 如何才能使限制正常工作 您当前的代码没有设置最大长度 而是定义可见
  • BroadcastReceiver 与 WakefulBroadcastReceiver

    有人可以解释一下两者之间的确切区别是什么BroadcastReceiver https developer android com reference android content BroadcastReceiver html and W
  • WPF - 如何在任一时间仅扩展一个扩展器

    我有一个带有一组扩展器的 StackPanel 如何设置它以便在任何时候都只扩展扩展器 Cheers AW 我真的不想这样做 因为它需要将代码 C 放在窗口文件后面的类中 我试图通过使用 ViewModels 等来完全避免这种情况 理想情况
  • 如何在 Bootstrap 4 中均匀分布导航栏元素

    为网站构建引导程序导航 我在弄清楚如何最好地间隔导航栏上的导航链接元素时遇到了一些麻烦 并继续在移动设备上看起来不错 我的导航栏代码是
  • Angular (v5) 服务正在 APP_INITIALIZER 承诺解析之前构建

    我期待 Angular 等到我的loadConfig 函数在构建其他服务之前解析 但事实并非如此 应用程序模块 ts export function initializeConfig config AppConfig return gt c
  • 如何在 Rails 中订购?

    我正在开发一个小型博客引擎 有以下表格 博客和消息 博客有一个外键 last message id 因此我通过调用 blog last message 来访问博客中的最 后一条消息 我有以下代码可以使其工作 class Blog lt Ac
  • 如何调用显式实现的接口方法的基类实现?

    我试图调用在基类上实现的显式实现的接口方法 但似乎无法让它工作 我同意这个想法很难看 但我已经尝试了我能想到的所有组合 但无济于事 在这种情况下 我可以更改基类 但我想我会问这个问题来满足我的一般好奇心 有任何想法吗 example int
  • pytz时区转换性能

    我有来自数据库的超过 100 万个日期时间对象 我想将它们中的每一个转换为时区感知的日期时间对象 这是我的辅助函数 conv tz dt is python datetime object src tz and dest tz and py
  • 两个相同查询(不同参数)的 MySQL InnoDB 死锁问题

    我有下表 CREATE TABLE IF NOT EXISTS task id int 10 unsigned NOT NULL AUTO INCREMENT job id int 10 unsigned NOT NULL COMMENT
  • JavaFX 2 ComboBox setValue() 不设置 CB 文本

    我的问题是 使用 setValue 选择后 所选的 ComboBox 项目文本在屏幕上不可见 以下是一些细节 将项目添加到我的 CB combo getItems add a combo getItems add b combo getIt
  • Android WebView 更新后卡在放大状态

    我们有一个使用 Android WebView 的应用程序 但更新到 v99 或 v100 后 它显示网页内容放大 更新后重新启动手机可以解决该问题 但只是暂时的 一段时间后 它将再次显示放大的网页 有没有人遇到过这个问题 是不是我们做错了
  • 关于查询而不是服务,最好、最全面的 SOAP 库是什么

    我的 google fu 并没有为 java 中的 SOAP 库提供非常有希望的结果 它们主要用于设置 SOAP 服务 因为我需要与这样的服务进行通信 我意识到 SOAP 只是构建和解析 XML 的问题 但理想情况下我希望对象映射和处理透明
  • 如何仅从类名获取 QMetaObject?

    我需要获取 QMetaObject 来动态创建对象实例 如果我知道该对象 那么 QObject metaObject 就是我所需要的 如果我知道该类 那么我可以使用 QObject staticMetaObject 变量 但是 如果我只知道
  • 如何使用 PHP 将 PFX 转换为 CRT 和 PEM?

    如何使用 PHP OpenSSL 函数将 pfx PKCS12 或 p12 证书转换为 crt 和 pem 这样我就可以避免使用公共服务器上不允许的命令行工具
  • 如何防止 IPAINTING 堵塞并改善着色

    我想从中删除所有使用 IPAINTING 的文本IMAGE https i stack imgur com vxOdS jpg 我一直在尝试各种方法 最终发现可以通过OCR获得结果 然后使用阈值MASK THE IMAGE processe
  • CLR 4.0 中单个对象的大小仍然限制为 2 GB?

    据我了解 NET 中的单个实例有 2 GB 的限制 由于到目前为止我主要在 32 位操作系统上工作 所以我并没有对此给予太多关注 32 但无论如何这或多或少是一个人为的限制 然而 我很惊讶地得知此限制也适用于 64 位 NET http m
  • 在 C 中分割数组

    假设我有一个数组 我想从某些索引范围中删除元素 如果我提前知道数组的大小 数组中每个元素的大小以及要删除的索引范围 是否有任何方法可以避免复制新数组 如果您不想使用新数组进行复制 您可以考虑在同一个数组本身中执行此操作 这就是我所拥有的 i