Const vektorini saralay olamizmi?
Const vektorini saralay olamizmi?

Video: Const vektorini saralay olamizmi?

Video: Const vektorini saralay olamizmi?
Video: Кассирша_Рассказ_Слушать 2024, Aprel
Anonim

Ha, siz saralash mumkin a const vektor C++ da. Keling, a const vektor is v. Agar xohlasangiz saralash bu vektor foydalanish saralash (v. start(), v.

Bunga nisbatan vektorni kamayish tartibida qanday saralaysiz?

Stabil olish uchun saralash , birlashtirish algoritmidan foydalanadigan std::stable_sort bilan o'ting. std ning ikki argli versiyasi:: saralash algoritm tartiblaydi vektor o'sish tartibida operatoridan<. olish uchun kamayish tartibi , std ga qo'ng'iroq qiling:: teskari std dan keyin:: saralash . Yuqoridagi kod qo'shimcha ruxsatni talab qiladi teskari the vektor.

Ikkinchidan, C++ da string vektorini qanday saralaysiz? std dan foydalanishingiz kerak:: saralash saralash uchun torlar . Xususan, cast std:: ip to void* va keyin to char* aniqlanmagan va ishlamaydi. Agar tartiblash tartibini o'zgartirmoqchi bo'lsangiz, cmp funksiyasidagi belgini o'zgartiring. Mana yana bir C++ saralash usuli massivi ip < ishlatmasdan vektor >.

Xuddi shunday, C++ da vektor tartiblanganmi?

Yo'q vektor bo'lishi ta'rifiga ko'ra kafolatlanadi saralangan , shuning uchun elementlar "ichida" bo'lmaydi buyurtma ". Bundan tashqari, barcha iteratorlar va a elementlariga havolalar vektor faqat qayta taqsimlash sodir bo'lganda (ya'ni, o'lchami o'rnatilganda) kiritilgandan so'ng bekor qilinadi vektor imkoniyatlaridan oshadi).

Vektorni qanday saralaysiz?

Saralash a vektor C++ da Saralash a vektor C++ da std:: yordamida amalga oshirilishi mumkin. saralash (). U sarlavhada aniqlanadi. Stabil olish uchun saralash std::stable_sort ishlatiladi. Bu xuddi shunday saralash () lekin teng elementlarning nisbiy tartibini saqlaydi.

Tavsiya: