Trier les structures. STL Часть 13

Trier les structures. STL Часть 13
Noter cet article




le tri des structures c ++, débutants stlMontré dans la section précédente divers tri - Mécanisme flexible et beau pour toutes les occasions. C'est juste dans la pratique, une sorte séquence presque jamais un pur. Cela est d'autant dans le domaine des tâches éducatives et de démonstration. En pratique, le plus souvent, le problème est triée des structures de données assez volumineuses (même volumineux en taille, et en fonction du nombre de ses champs). Et tri (ou recours) ils auront sur les valeurs pour les différents champs de ces mêmes structures. Mais voici venir à l'aide алгоритмы STL, en particulier lorsqu'ils sont utilisés conjointement avec le foncteurs.

Voyons voir le problème du modèle typique, que nous avons vu auparavant - une description du groupe de formation ou de la faculté:

Le programme demande le numéro de champ données, sur lequel le tri est effectué (en fait - la comparaison). Si ce nombre est entré, comme un nombre positif, puis trier par ce champ va dans l'ordre croissant. Si le nombre est entré avec un signe moins - l'ordre de tri est inversé:

le tri des structures c ++, débutants stlle tri des structures c ++, débutants stl

S'il vous plaît noter, que l'algorithme de tri ne se soucie pas de ce genre: si les données numériques, le plus grand, et si minuscules, afin leksograficheskom.

Bulletin de nouvelles leçons sur la programmation:

huile

Sur huile

une expérience pratique sur le développement de logiciels 40 ans. société de logiciels internationale Global Teacher Logic. IBM Developer Works auteur permanent des publications. éditeur scientifique de l'ordinateur littérature maison d'édition "Symbole-Plus", Saint-Pétersbourg.

2 réflexions sur "Trier les structures. STL Часть 13

  1. А сможете аналогично растолковать функцию find(…)?
    Пытался самостоятельно написать поиск по вектору для структуры типа

    по id-элементу (при том элементов с одинаковым id быть не может).
    Пробовал писал функтор типа

    и посылать его с уже инициализированым id (создавал объект функтора с параметрами и кидал уже его) — нахватал кучку ошибок вродефункции find(★аргументы★) не существует”.
    Пробовал аналогично с лямбдой — всё тоже самое
    Подозреваю себя в географически неправильном расположении рук

Laisser un commentaire

Placez le code dans les balises: <pre class="lang:c ++ décodage:true ">VOTRE CODE</pré>