Article View: pl.comp.lang.c
Article #309803C++ i poprawne sortowanie ciągów Unicode z numerami - jak?!?
From: szykcech
Date: Sun, 20 Jan 2019 20:37
Date: Sun, 20 Jan 2019 20:37
15 lines
2313 bytes
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ć...
Technical Details
Message-ID:
<ff62d113-a59b-493c-9334-16a185c47796@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v55no5056246qtk.0!news-out.google.com!m21ni4170qta.0!nntp.google.com!v55no5056244qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 2002:a37:4cd7:: with SMTP id z206mr5941220qka.44.1548016664811; Sun, 20 Jan 2019 12:37:44 -0800 (PST) X-Received: by 2002:a81:550b:: with SMTP id j11mr287572ywb.4.1548016664668; Sun, 20 Jan 2019 12:37:44 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v55no5056246qtk.0!news-out.google.com!m21ni4170qta.0!nntp.google.com!v55no5056244qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Sun, 20 Jan 2019 12:37:44 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.77.230; posting-account=pyti1AoAAAAf66c003TUy10QAAnMWaKw NNTP-Posting-Host: 188.146.77.230 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <ff62d113-a59b-493c-9334-16a185c47796@googlegroups.com> Subject: C++ i poprawne sortowanie ciągów Unicode z numerami - jak?!? From: szykcech@gmail.com Injection-Date: Sun, 20 Jan 2019 20:37:44 +0000 Lines: 25 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit