Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako podľa abecedy Polia v C + +

C + + Štandardná Template Library je plný užitočných funkcií pre nakladanie s údajmi , vrátane triedenia algoritmu . Bohužiaľ , ak použijete radenie algoritmus na pole reťazcov , ktoré nebudú vyjsť v abecednom poradí . Namiesto toho , je to predvolená triedenie je v niečom známom ako ASCIIbetical objednávky - triedenie na základe vnútornej kódovanie jednotlivých písmen . Aby bolo možné radiť abecedne , musíte poskytnúť funkciu , ktorá hovorí , triedenie algoritmus presne tak , ako porovnať dva reťazce tak , ako chcete . Návod dovolená 1

Zahrnúť všetky potrebné záhlavia pridaním nasledujúce riadky na začiatok programu : # include # include
2

Napíšte funkciu wrapper pre funkciu lexographical_compare . Funkcia sort ( ) , budete používať neskôr vyžaduje porovnávaciu funkciu , aby sa dva reťazce ako argumenty a vracia hodnotu typu bool , ktorá nie je, ako funkcia lexographical_compare pracuje . Môžete deklarovať túto funkciu ako globálne funkcie v mennom priestore vášho projektu , aby bolo možné ju použiť z ktorejkoľvek časti programu . Ak potrebujete iba abecedy poľa v rámci triedy, možno budete chcieť deklarovať ako privátne člena function.bool myCompare ( string , string b ) { return lexographical_compare ( a.begin ( ) , a.end ( ) , b . begin ( ) , b.end ( ) ) ; }
3

Zoradiť pole pomocou triediace algoritmus s funkciou porovnávaciu ste práve napísal : sort ( myStringArray , myStringArray + myStringArrayCount , myCompare ) ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené