gpt4 book ai didi

c++ - 如何将此 C# 脚本转换为 native C++?

转载 作者:行者123 更新时间:2023-11-30 01:22:33 25 4
gpt4 key购买 nike

我是 C++ 初学者。在我使用 C# 之前。 Bellow 是一个 C# 脚本。我如何在 native C++ 中执行相同的这些操作?

我需要的是:

  • 列表或类似列表具有 int-int 键值对
  • 可以按值自动排序。如果不是,则它必须可以按键排序,并且可以获取 a 的索引值(我的每一个值都是确定的)

我试过 std::map 但它没有内置的按值排序或按值获取键。 C++在c#中有类似sortedlist的东西吗?

非常感谢!

public static SortedList<int, int> sortedList1 = new SortedList<int, int>();

static void List_Add(int i) // 0 < i < 1000
{
if (!sortedList1.ContainsValue(i))
sortedList1[Environment.TickCount] = i;
}

static void List_Remove(int i) // 0 < i < 1000
{
if (sortedList1.ContainsValue(i))
sortedList1.RemoveAt(sortedList1.IndexOfValue(i));
}

static int List_toInt()
{
int time = 0;
int keys = 0;
bool modifier = false;
foreach (KeyValuePair<int, int> i in sortedList1)
{
if (i.Value > 90) modifier = true;
if (i.Key - time > 200 | modifier | keys > 1000)
{
keys = keys * 1000 + i.Value;
time = i.Key;
}
}
return keys;
}

最佳答案

您似乎做错了事情,因为通常使用键对事物进行排序,而查询是使用键而不是值来完成的。但是,它似乎是一个 std::map<int,int>会在这里帮助你。只需将您的值用作 map 的键并将您的键用作值(以便您可以使用该值进行查询)。如果允许重复,则使用 multimap。

关于c++ - 如何将此 C# 脚本转换为 native C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16164089/

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