Ի՞նչ է անում std:: sort-ը:
Ի՞նչ է անում std:: sort-ը:

Video: Ի՞նչ է անում std:: sort-ը:

Video: Ի՞նչ է անում std:: sort-ը:
Video: Ինչ է անում վերականգնողը | Ստեղծում և վերականգնում | «Քան» ակադեմիա 2024, Մայիս
Anonim

Ներքին մանրամասները std::տեսակավորել () C++-ում

Դա նշանակում է տվյալների դասավորություն որոշակի ձևով, որը կարող է աճել կամ նվազել: C++ STL-ում կա ներկառուցված ֆունկցիա՝ անունով տեսակավորել (). std::տեսակավորել ()-ը ընդհանուր ֆունկցիա է C++ Ստանդարտ գրադարանում՝ համեմատություն անելու համար տեսակավորում.

Հետագայում կարելի է նաև հարցնել՝ ինչպե՞ս է աշխատում std:: sort-ը:

std:: begin()-ը կվերադարձնի iterator(ցուցիչը) զանգվածի առաջին տարրին, որը մենք փոխանցում ենք այն: Մինչդեռ std:: end()-ը կվերադարձնի iterator(ցուցիչը) զանգվածի վերջին տարրից հետո, որը մենք փոխանցում ենք այն: Այսպիսով, մենք կարող ենք զանգահարել տեսակավորել ֆունկցիան՝ փոխանցելով այն begin() և end() այսպես։

Նաև գիտեք, արդյոք std:: տեսակավորումը կայուն է: Այո, std:: ցուցակը ::տեսակավորել երաշխավորված է կայուն . Ըստ «C++ ծրագրավորման լեզվի» (Stroustrup p470), այո, stl :: ցուցակը ::տեսակավորել է կայուն.

Երկրորդ, ի՞նչ ալգորիթմ է օգտագործում std:: տեսակավորումը:

Օգտագործեք std::sort (կամ std::stable_sort) Այն սովորաբար շատ արդյունավետ իրականացում է Ներածություն ալգորիթմ, որը սկսվում է արագ տեսակավորում և անցնում է heapsort երբ ռեկուրսիան շատ խորն է գնում: std::sort ալգորիթմը չի պահպանում հավասար տարրերի հարաբերական կարգը:

Ո՞ր գրադարանն է տեսակավորվում C++-ում:

տեսակավորել (C++) տեսակավորել ընդհանուր ֆունկցիա է C++ Ստանդարտ Գրադարան համեմատական տեսակավորում կատարելու համար։ Ֆունկցիան առաջացել է Ստանդարտ Կաղապարում Գրադարան (STL):

Խորհուրդ ենք տալիս: