是否有一个Java函数类似于C++的PBDS顺序键? 在C++中,我们可以使用基于对象的数据结构。请参阅下面的代码 #include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> PBDS; int main() { PBDS st; st.insert(1); st.insert(3); st.insert(4); st.insert(10); st.insert(15); for(int i=0;i<st.size();i++) { cout<<i<<" "<< *st.find_by_order(i) <<endl; } cout<<st.order_of_key(5)<<endl; // 3 }
它有两个重要的功能 find_by_orderk:它返回一个迭代器,以便我们可以访问PBDS集中的索引。 顺序:返回的元素数小于k。 这两个函数都在Ologn时间内运行。我想在java中使用它们。由于这些函数在对数时间内运行,Java树集将是最佳匹配。对于按顺序查找,我必须将树集转换为列表以访问其索引。在树集合中,有一些方法,如higher和lower,它们返回至少更大/至少更小的元素。但我希望数字的计数小于k。那么,是否可以用java实现呢 帮我弄清楚。如果我在某个时候错了,请告诉我。他们的方法是使用Java8流吗?orElse使用收集框架是否有一个Java函数类似于C++的PBDS顺序键? 在C++中,我们可以使用基于对象的数据结构。请参阅下面的代码 #include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> PBDS; int main() { PBDS st; st.insert(1); st.insert(3); st.insert(4); st.insert(10); st.insert(15); for(int i=0;i<st.size();i++) { cout<<i<<" "<< *st.find_by_order(i) <<endl; } cout<<st.order_of_key(5)<<endl; // 3 },java,collections,java-8,g++,Java,Collections,Java 8,G++,它有两个重要的功能 find_by_orderk:它返回一个迭代器,以便我们可以访问PBDS集中的索引。 顺序:返回的元素数小于k。 这两个函数都在Ologn时间内运行。我想在java中使用它们。由于这些函数在对数时间内运行,Java树集将是最佳匹配。对于按顺序查找,我必须将树集转换为列表以访问其索引。在树集合中,有一些方法,如higher和lower,它们返回至少更大/至少更小的元素。但我希望数字的计数小于k。那么,是否可以用java实现呢 帮我弄清楚。如果我在某个时候错了,请告诉我。他们的方
谢谢✌️ 这个问题是C++的主题,因为它不是C++允许你这样做的,你使用的是GNU特定的非标准扩展。如果你使用G++标签并删除C++标签,你可能会有更多的运气。你可以用它作为地图和列表……使用TeSeSe,你可以做树。由于密钥的顺序不包括所提供的密钥,因此我不应该为true,所以只有tree.headSetkey.sizeGreat:。要清楚的是,耳机从不要求提供的钥匙存在或不存在真实参数;所有的参数意味着,如果它在原始集合中出现,那么这个关键元素将包含在结果集中。这个问题是作为C++的主题,因为它不是C++允许你这样做的,你使用的是GNU特定的非标准扩展。如果你使用G++标签并删除C++标签,你可能会有更多的运气。你可以用它作为地图和列表……使用TeSeSe,你可以做树。由于密钥的顺序不包括所提供的密钥,因此我不应该为true,所以只有tree.headSetkey.sizeGreat:。要清楚的是,耳机从不要求提供的钥匙存在或不存在真实参数;这个参数的意思是,如果关键元素恰好出现在原始集合中,那么它将包含在结果集中。