我遇到了問題std::map
。 我使用它特定的索引下圖對一些列表:std :: map - 如何更改鍵排序?
map<string, list<pair<string, int> > > List;
它在Dijkstra算法中使用。 的主要問題是,地圖按字母順序排序string
鍵,這樣的:
AAA, AA0, AA1, AAB, AC1 = AA0->AA1->AAA->AAB->AC1
但我想給它以不同的方式進行排序:
AAA, AA0, AA1, AAB, AC1 = AAA->AAB->AA0->AA1->AC1
有什麼解決辦法嗎?我讀了關於做自己的比較類,但我不知道如何做到這一點。或者也許有其他方法可以解決它?
好的,我明白了,但是我怎樣才能比較字符串的差異?我的意思是,如何在字符串內找到一個數字? – 2013-05-14 14:10:21
@ user2342783這是一個完全不同的問題。你應該問一個新問題 – stefan 2013-05-14 14:13:12
@ user2342783這是一個不同的問題。但是你可以遍歷一個字符串的元素(每個字符都是'char'),並執行諸如call [std :: isdigit](http://en.cppreference.com/w/cpp/string/byte/isdigit)。 – juanchopanza 2013-05-14 14:13:12