我遇到了问题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