>>157

//構造体を定義
struct name_value {
 String name;
 int value;
 name_value( String n=EmptyStr, int v=0 ) : name(n), value(v) {};
};
bool operator<( const name_value& lh, const name_value& rh ) {
 return lh.value < rh.value;
}

//こんなふうにつかう
#include <set>
void some_function()
{
 typedef std::set<name_value> name_value_set;
 name_value_set nvset;
 nvset.insert( name_value("二郎",90) );
 nvset.insert( name_value("一郎",70) );
 nvset.insert( name_value("太郎",80) );
 ...
 //あとは頭からでもけつからでも好きな方から読み出せばいい。
}