问题标签 [in-place]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3529 浏览

c - C中的就地字符串反转

我正在尝试学习 C 的基础知识,但我无法弄清楚为什么这段代码不起作用。reverse() 中的 while 循环会导致总线错误。我在编程面试书中发现了几乎相同的代码作为有效的解决方案,但是我在这里看到的这个和其他类似的方法都对我没有总线错误。

0 投票
2 回答
649 浏览

visual-c++ - MFC中的就地消息?

嗨,如果有人知道如何在 MFC 中使用就地警告消息,您能否分享信息。有没有办法使用它或者有什么我们可以直接在mfc中使用的控件。

就地警告消息:带有适当图标的警告消息和警告消息将显示在同一对话框中。

我在 msdn 中找到了一些关于就地消息的信息

msdn 词汇表中的就地消息

不同的消息

请分享信息。

问候

哈拉纳德

0 投票
2 回答
18534 浏览

python - Python“就地”函数

Python 中的某些函数运行“就地”的具体原因是什么,比如[].sortand [].reverse,而另一些函数[].append则不喜欢?

0 投票
20 回答
2179245 浏览

shell - 如何从文本文件中删除包含特定字符串的所有行?

如何使用 sed 删除文本文件中包含特定字符串的所有行?

0 投票
2 回答
1572 浏览

c - 使用 C 将二叉树就地转换为二叉搜索树

在不使用任何额外空间的情况下将二叉树转换为二叉搜索树。我想出了以下算法,但它不起作用。

BTtoBST(节点*根)

1.如果根为NULL返回

2.其他当前=根

3.if (current->left > current) 交换(current->left , current)

4.if (current->right < current) 交换(current->right , current)

5.current=current->left

6 转到 3 如果当前!=NULL 否则转到 4

7.current=current->right

提前致谢

PS:我看到了这个链接,但没有太大帮助! 转换二叉树 -> BST(保持原始树形)

0 投票
2 回答
334 浏览

c++ - 通过构造函数就地构造成员变量

参加以下课程:

每当我构造一条消息时,我都必须创建一个 TPayload(参数有效负载),将其复制到 m_payload 中,然后销毁有效负载。现在考虑这可以每秒完成 100'000 次,我认为这是一种浪费的努力。

我的问题是,我可以强制 m_payload 的就地构造来避免临时有效负载吗?

我正在考虑的一种可能的解决方案是多次重载结构,如下所示,但老实说,我怀疑是否有很多节省。

0 投票
2 回答
2814 浏览

c# - 为什么不允许在 .NET 中实现就地接口?

要么我遗漏了一些东西,要么.NET 不支持 Java 的功能。我希望能够避免仅仅为了实现一个小接口而创建一个小类。例如,LINQ 的 except 方法需要IEqualityComparer. 所以我不得不写一个实现接口的小类。但是在Java中我可以简单地做一个new IEqualityComparer() { //interface declarations }并完成它。所以有什么问题?

这与这篇文章有些相关:

C#匿名类可以实现接口吗?.

补充:目前,我为Equalsand添加了覆盖GetHashCode

0 投票
3 回答
5356 浏览

perl - 需要 Perl 就地编辑不在命令行上的文件

我有一个内部配置了许多文件名的程序。该程序编辑一堆与数据库帐户关联的配置文件,然后更改数据库帐户的数据库密码。

配置文件列表通过内部列表与数据库帐户的名称相关联。当我处理这些文件时,我的程序中有以下循环:

问题是,这会将修改后的输出写入 STDOUT,而不是 CONFIGFILE。我如何让它真正就地编辑?将 $^I 移动到循环内?打印配置文件?我难住了。

>

更新:在 PerlMonks 上找到了我想要的东西。您可以在循环内使用本地 ARGV 以正常的 Perl 方式进行就地编辑。上面的循环现在看起来像:

如果不是在开始时添加 configDir,我可以将整个列表扔到本地 @ARGV 中,但这已经足够有效了。

感谢您对Tie::File. 如果再做一遍,我可能会走那条路。我正在编辑的配置文件长度不会超过几 KB,因此 Tie 不会占用太多内存。

0 投票
2 回答
1514 浏览

matlab - matlab中的就地快速排序

我在 matlab 中编写了一个小型快速排序实现来对一些自定义数据进行排序。因为我正在对一个单元格数组进行排序,并且我需要排序顺序的索引并且不想重组单元格数组本身,所以我需要我自己的实现(也许有一个可用的,但我没有找到它) .

我当前的实现通过划分为一个leftright数组然后将这些数组传递给递归调用来工作。因为我不知道 and 的大小,leftright只是将它们放在一个循环中,我知道这在 matlab 中非常慢。

我知道您可以进行就地快速排序,但有人警告我永远不要修改传递给函数的变量的内容,因为引用调用的实现方式并不像在 matlab 中所期望的那样(或者我被告知)。它是否正确?就地快速排序会在 matlab 中按预期工作,还是我需要处理一些事情?对于实施这种事情,您还有什么其他提示?

0 投票
3 回答
1587 浏览

python - 更改 numpy 函数输出数组

我正在尝试编写一个对数组执行数学运算并返回结果的函数。一个简化的例子可能是:

为了加快速度并避免为每个函数调用分配新的输出数组,我希望将输出数组作为参数,并在适当的位置进行更改:

但是,当以如下方式调用这两个函数时,

原始功能似乎是就地功能的两倍。这怎么解释?由于不需要分配内存,就地函数不应该更快吗?