🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by szykcech Sun, 20 Jan 2019 20:37
C++ i poprawne sortowanie ciągów Unicode z numerami - jak?!?
#309803
Author: szykcech
Date: Sun, 20 Jan 2019 20:37
15 lines
2313 bytes
Witam
Wiem, że nie jest to wyzwanie, ale może jest jakieś gotowe i sprawdzone rozwiązanie sortowania ciągów znaków ze znakami Unicode i z numerami.

Była kiedyś zrobiona klasa opakowująca Icu omówiona na blogu Qt:
http://blog.qt.io/blog/2011/06/14/string-collation-with-locales/
Jednak link do repozytorium jest martwy i chyba nie ma tego nigdzie indziej...
A jak podaje autor funkcja ta była 30 razy szybsza niż owe localAwareCompare pod Linuxem i 5 razy niż pod Windows...

Wiem jak ten problem rozwiązać nieefektywnie:
w pętli:
1. zliczam ilość znaków innych niż cyfry, porównuję je ze sobą, jeśli się różnią to zwracam wynik porównania localAwareCompare
2. jeśli są takie same, to zliczam cyfry i jeśli się różnią to zwracam wynik porównania.
3. jeśli nie koniec ciągu znaków to przejdź do 1.

Od biedy mogę tak to zakodować, bo nie spodziewam się wielkich kontenerów z tymi ciągami znaków. Jednak jeśli było by jakieś gotowe rozwiązanie to mógłbym skorzystać...
Re: C++ i poprawne sortowanie ciągów Unicode z numerami - jak?!?
#309804
Author: Queequeg
Date: Sun, 20 Jan 2019 20:57
9 lines
1215 bytes
szykcech@gmail.com wrote:

> Wiem, że nie jest to wyzwanie, ale może jest jakieś gotowe i sprawdzone 
> rozwiązanie sortowania ciągów znaków ze znakami Unicode i z numerami.

strcoll()?

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads