Показать сообщение отдельно

  #2079  
Старый 26.12.2008, 23:20
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
С нами: 9443906

Репутация: 3313


По умолчанию

Есть вектор мэпов:

PHP код:
vector
[
  
map1
  
[
     
name => a
     adress 
=> b
  
]
  
map2
  
[
     
name => f
     adress 
=> g
  
]
...

Надо было отсоритровать все имена, и вывести по алфавитному списку. Проблема была не перепутать адрес с именем местами при сортировке.

Накидал такой кодес:
PHP код:
void MainClass::sortSquares()
{
    
vector<stringnames,adresses;
    
    for(
signed int i 0< (signed int)this->squares.size(); i++)
    {
        
names.push_back(this->squares[i]["name"]);
    }
    
    
sort(names.begin(),names.end());
    
    for(
signed int i 0< (signed int)this->squares.size(); i++)
    {
        for(
signed int j 0< (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< (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..
 
Ответить с цитированием