Const векторун иреттей алабызбы?
Const векторун иреттей алабызбы?

Video: Const векторун иреттей алабызбы?

Video: Const векторун иреттей алабызбы?
Video: 0xC - Язык C: Управления памятью и классы памяти | malloc() 2024, Май
Anonim

Ооба сен сорттоого болот а const вектор C++ тилинде. болсун а const вектор is v. Эгер кааласаңыз сорттоо бул вектор колдонуу сорттоо (v. start(), v.

Буга байланыштуу векторду кемүү тартибинде кантип иреттейсиз?

Турак жай алуу үчүн сорттоо , бириктирүү алгоритмин колдонгон std::stable_sort менен өтүңүз. std'дин эки аргдуу версиясы:: сорттоо алгоритмин сорттойт вектор өсүү тартибинде операторун колдонуу<. алуу үчүн төмөндөө тартиби , std үчүн чалуу:: тескери std кийин:: сорттоо . Жогорудагы код кошумча өтүүнү талап кылат тескери the вектор.

Экинчиден, C++ тилинде сап векторун кантип сорттосоңуз болот? Сиз std колдонушуңуз керек:: сорттоо сорттоо үчүн саптар . Тактап айтканда, cast std:: сап to void* анан to char* аныкталбаган жана иштебейт. Эгерде сиз сорттоо тартибин өзгөрткүңүз келсе, жөн гана cmp функциясындагы белгини өзгөртүңүз. Бул жерде дагы C++ сорттоо жолу массиви сап < колдонбостон вектор >.

Ошо сыяктуу эле, C++ тилинде вектор иреттелгенби?

Жок вектор болушуна кепилдик берилет сорттолгон , ошондуктан элементтер "in" болбойт тартип ". Мындан тышкары, бардык итераторлор жана a элементтерине шилтемелер вектор кайра бөлүштүрүү болгондо гана (б.а. өлчөмү вектор анын кубаттуулугу ашып кетет).

Векторду кантип сорттосоңуз болот?

Сорттоо а вектор C++ боюнча сорттоо a вектор C++ тилинде std:: колдонуу менен жасалышы мүмкүн. сорттоо (). Бул аталышта аныкталган. Турак жай алуу үчүн сорттоо std::stable_sort колдонулат. Бул так окшош сорттоо () бирок бирдей элементтердин салыштырмалуу тартибин сактайт.

Сунушталууда: