gpt4 book ai didi

c++ - 在维护要排序的数组的同时从数组中插入和删除元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:57:52 29 4
gpt4 key购买 nike

我想知道是否有人可以帮助我解决这个问题。我正在使用 C/C++ 进行编程,我需要执行以下操作:

我得到一个包含 float 的排序数组 P(最大优先)。它通常有一个非常大的尺寸.. 有时持有 10 兆像素图像的相关值。我需要遍历数组直到它为空。在循环中有额外的处理发生。

问题的要点是,在循环开始时,我需要从数组中删除具有最大值的元素,检查某些条件,如果它们成立,那么我需要将元素重新插入到数组中,但是在降低它们的值(value)之后。但是,我希望数组在重新插入后能够高效排序。

有人可以指出我这样做的方法吗?我尝试过每次插入时都重新排序的幼稚方法,但这似乎真的很浪费。

最佳答案

改变数据结构。重复访问最大元素,然后快速插入新值,这样您仍然可以有效地重复访问最大元素,这是 heap 的工作。 ,这可能是 fairly easily created from your array in C++ .

顺便说一句,请不要谈论“C/C++”。没有这样的语言。相反,您对您编写内容的风格做出了模糊的暗示,其中大部分会让有经验的程序员感到糟糕。

关于c++ - 在维护要排序的数组的同时从数组中插入和删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100044/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com