cost 239 ms
使用比較器對具有不同唯一性和小於標准的唯一對進行排序

[英]Using comparator to sort set of unique pairs with different criterias for uniqueness and less than

首先,我試圖搜索類似的問題,但我沒有找到任何解釋我的問題可能是什么的回應。 問題如下:給定一組坐標為 (x,y,z) 的 N 個節點,使用第 4 個值 F 盡可能快地對它們進行排序。 為此,我想使用帶有自定義比較器的std::set ,因為它具有 O(log(N)) 復雜性。 我知道我也可以嘗試st ...

Python自定義有序數據結構

[英]Python custom ordered data structure

我想知道 Python 中是否存在一種數據結構,可以為其引入自定義內部排序策略。 我知道OrderedDict和諸如此類的東西,但它們沒有明確提供我所要求的內容。 例如, OrderedDict只保證插入順序。 我真的很喜歡在 C++ 中使用比較對象提供的東西:例如在std::set<Type ...

C++ std::sort 自定義比較器在比較器返回 true 時無限期運行

[英]C++ std::sort custom comparator runs indefinitely when the comparator returns true

因此,在使用自定義比較器對向量進行排序時,我在邊緣情況下遇到了這種非常奇怪的行為。 運行此代碼時,它不會停止,並且永遠運行: 但是,當我將true更改為false ,它可以完美運行。 更奇怪的是,當我減少要排序的0的數量時,它也能完美運行。 (它適用於 16 個或更少的0 ,當我再添加一 ...

具有非唯一鍵排序但唯一比較的 std::map

[英]std::map with non-unique key ordering but unique comparison

考慮以下代碼: 輸出是1 ,我希望它是2 。 這似乎是由於在operator<只比較了attr1 。 但是,如果我是對的,比較不一定是強排序,而是弱排序就足夠了。 這里是否還有其他錯誤,或者我是否必須為其定義一個operator< Key1 !< Key2 && ...

為什么等價條件是必要的?

[英]why does the equivalent condition necessary?

我對C++ 標准庫中的代碼段有疑問。 我的問題是.(p2.lastname() < p1.lastname())似乎沒有必要,因為我認為條件表示姓氏在 p1 和 p2 中等效。 如果我刪除了條件,代碼似乎可以正常工作。 我看到了這種嚴格的弱排序。 我閱讀了相關文章,但我並沒有完全理解這個概念 ...

如何強制 std::weak_ordering

[英]How to force std::weak_ordering

在試用新品時領帶攔截器三向比較運算符<=>我想知道這樣的例子是什么 會導致編譯器錯誤 但不是與 Foo的例子是什么? 換句話說, Foo如何不暗示可替代性? 我知道我可以編寫自己的運算符實現,它返回std::weak_ordering... less/greater/equivale ...

更大的運算符“>”是否滿足嚴格的弱排序?

[英]Does greater operator “>” satisfy strict weak ordering?

定義: 令<為二元關系,其中a < b表示“ a小於b ”。 讓>成為二元關系,其中a > b表示“ a大於b ”。 因此,我們假設<和>具有我們通常在日常生活中使用的含義。 雖然,在某些編程語言(例如 C++)中,我們可以重載它們以賦予它們不同的定義,此后我們 ...

指針值的嚴格弱排序

[英]Strict weak ordering on pointer values

考慮以下結構: 我們如何在x和y上定義嚴格的弱排序,以便可以在std :: set中使用該對象? 請注意,y可以是空指針。 正如在使用std :: less和nullptr中所提到的,未指定 未定義 std :: less on null指針的行為。 以下解決方案 ...

將元素傳遞給std :: sort中的比較函數的順序背后的邏輯是什么?

[英]What's the logic behind the order the elements are passed to a comparison function in std::sort?

我正在練習lambdas: 這只是來自GeeksForGeeks的代碼,按降序排序,沒什么特別的。 我添加了一些打印語句(但是為了這篇文章把它們拿出來)來看看lambda里面發生了什么。 它們打印整個矢量,以及a和b值: 所以我更詳細的問題是:向量元素被傳遞到a和b參數的順序 ...

如何通過對地圖嚴格的弱排序對數學向量進行排序?

[英]How do i sort mathematical vectors by strict weak ordering for a map?

我嘗試編寫一個std :: map <Vector3D,double>,其中colinear(並行或反並行)向量應該共享相同的密鑰。 作為比較函數,我使用以下函數(在isEqualEnough()中具有1e-9容差),這是我在std :: map中使用(數學)向量創建的 ...

在std :: sort中崩潰 - 排序沒有嚴格的弱排序

[英]Crash in std::sort - sorting without strict weak ordering

我正在嘗試對項目的矢量進行排序。 如代碼注釋中所述,順序應為: 具有更多動作點( mAp )的參與者先行。 當存在平局時,具有與戰斗的發起者相同的處置( mDisposition )的參與者( mBattleInitiator )首先出現。 以下代碼(簡化示例)在macOS上崩潰 ...

std :: struct vector of invalid invalid operator

[英]std::sort vector of struct invalid operator<

我在std :: sort中的compare函數中遇到嚴格的弱排序問題。 我不明白為什么會失敗。 我有一些嵌套的結構: 在我的代碼中,在某些時候我有一個填充的std::vector&lt;Trade&gt;我想要排序。 我的排序功能: 我的比較功能: 當運行 ...

std :: sort可以使用不嚴格的弱排序比較器作為拓撲排序嗎?

[英]could std::sort with not strict weak ordering comparator work as topological sorting?

我確實知道我應該遵循c ++比較器的嚴格弱排序。 主要原因是!(a &gt; b) &amp;&amp; !(b &gt; a)應該充當等價運算符。 但是問題只是排序,不需要像std::set這樣的等價運算符。 例如,存在集合的向量,並且如果集合A是B的適當子集,則在排序之后,集合 ...

內存排序,其他執行和多線程安全

[英]Memory Ordering, Out of other Execution and Multi thread Safety

最近,我一直在閱讀有關內存重新排序的信息。 我的問題是關於多線程方案。 考慮下面的示例: 我一直在X86-64 Windows平台上進行編碼,但從未考慮過可以重新排序存儲到A和B的存儲(在編譯器級別或在硬件級別),並且最終我可能在線程2中以B = 0結束並且發現A仍然是0.使用此類代 ...

是否有任何Python2的實現,其中排序是可傳遞的?

[英]Is there any implementation of Python2 where ordering is transitive?

是否存在Python2的現有實現,其中排序是可傳遞的 ? 也就是說,如果不創建用戶定義的類型,則無法看到此行為: 由於這種反例,CPython不具有傳遞性 但是,CPython中的這種排序僅記錄為實現細節。 ...

為什么STL中的priority_queue不遵循嚴格的弱排序?

[英]Why does priority_queue in STL not follow strict weak ordering?

我一直在使用STL容器及其支持的比較功能/函數,但是我發現priority_queue沒有遵循通常的嚴格弱排序,我試圖了解可能是什么原因,但無法弄清楚指針會有所幫助。 在此博客中還提到了priority_queue不遵循嚴格的弱排序。 在此處輸入鏈接說明 ...

嚴格的弱排序和std :: set / std :: map

[英]Strict Weak Ordering and std::set / std::map

Field2在我的數據中並不總是可用,因此有時我使用通配符值0,該值可以匹配與field1匹配的任何值。 如果我從不插入具有通配符值的元素,而僅在集合中查找它們,這在C ++中是否有效? 我可以使用find函數返回這種情況下的任何值,這種情況在我的代碼中很少發生,盡管希望重復調用時它將是相 ...

排序集沒有嚴格的弱排序

[英]Sorted set without a strict weak ordering

我有以下問題:考慮這種(簡化的)結構: 現在,我要擁有一組所有任務並對其進行一些處理。 因此,我有一個相等運算符,該運算符檢查每個元素是否相等。 為此,我使用了std :: unordered_set,效果很好。 但是現在我希望這些任務按集合中的優先級排序(以獲得最高優先 ...

PartialOrdering,StrictWeakOrdering,TotalOrdering,應用程序的主要區別是什么

[英]PartialOrdering, StrictWeakOrdering, TotalOrdering, what's the main difference in application

[SGI正式文件] 由於缺乏自反性和傳遞性,operator &lt;始終滿足部分排序的定義。 嚴格弱排序的定義更嚴格,而總排序的定義也更嚴格。 我還閱讀了文檔中的嚴格弱排序的定義: StrictWeakOrdering 前三個公理,不自反性,反對稱性和可傳遞性,是 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM