אם מדובר בSTL אתה צריך פשוט ליצור קומפרטור שהרשימהתעבוד על פיו.
צריך לזרוק לו פונקציה שמחזירה את האיבר השני???
משום מה אני לא מצליח לטעון הרשימה באיברים
list<int> a(a.push_back({1,2}) הוא לא מקמפל את זה
ואז שולח את המחלקה (נגיד שקוראים לה cmp )list<int, cmp>
אני זוכר את זה במעורפל זה כנראה לא מדויק אבל תחפש בגוגל c++ comparator תמצא הרבה אפשרויותלמימוש ודוגמאות.
הנה לדוגמא מישהו שאל על מפה וענו לו תשובה טובה (תופס גם לגבי רשימה):
http://stackoverflow.com/questions/5733254/create-an-own-comparator-for-map