
26.12.2008, 23:20
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами:
9443906
Репутация:
3313
|
|
Есть вектор мэпов:
PHP код:
vector
[
map1
[
name => a
adress => b
]
map2
[
name => f
adress => g
]
...
]
Надо было отсоритровать все имена, и вывести по алфавитному списку. Проблема была не перепутать адрес с именем местами при сортировке.
Накидал такой кодес:
PHP код:
void MainClass::sortSquares()
{
vector<string> names,adresses;
for(signed int i = 0; i < (signed int)this->squares.size(); i++)
{
names.push_back(this->squares[i]["name"]);
}
sort(names.begin(),names.end());
for(signed int i = 0; i < (signed int)this->squares.size(); i++)
{
for(signed int j = 0; j < (signed int)this->squares.size(); j++)
{
if(names[i] == this->squares[j]["name"])
{
adresses.push_back(this->squares[j]["adress"]);
break;
}
}
}
for(signed int i = 0; i < (signed int)this->squares.size(); i++)
{
this->squares[i]["name"] = names[i];
this->squares[i]["adress"] = adresses[i];
}
}
Реально ли его оптимизировать)?
И второй вопрос: как сравнить string с int'ом? - нужно позарез!!!
Последний раз редактировалось ChaaK; 26.12.2008 в 23:53..
|
|
|