Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergiy Kanilo                        2:5020/400     30 Apr 2002  00:19:14
 To : Andrey Belyakov
 Subject : Re: Сортировка
 -------------------------------------------------------------------------------- 
 
 "Andrey Belyakov" <andrejb@netmail.lv> wrote in message
 news:aak4tm$ook$1@host.talk.ru...
 
 > >  >>  >>  Кто-нибудь не подскажет алгоритмы сортировки массива строк по
 > >  >>  >> алфавиту?
 > >  >>  AB> Пузырьком. Hичто другое на произвольных строках не будет
 > >  >>  AB> работать.
 > >  >>  Что значит не будет работать ?
 > Я уже объяснил - ничто другое работать не будет.
 
 Это ИМХО не объяснение, ну и что с того, что ручками сделали ошибку,
 возможно, ты подразумеваешь какое-то дополнительное требование,
 которого не говоришь (например невыделение дополнительной памяти,
 но этого в исходной постановке не было).
 Вот результат
 
 Before sort
 zzxxc
 abc
 zzzxxc
 abbc
 
 After sort
 abbc
 abc
 zzxxc
 zzzxxc
 
 Я засчитал \0\0 за конец списка, если это должно считаться строкой
 нулевой длины - это легко принять во внимание.
 
 Hиже сама программка. Писана на скорую руку, но следует учесть,
 что стандартная C++ std::sort  основана на quicksort и обеспечивает
 в среднем O(NlnN) операций сравнения, а для std::string операция
 сравнения (упорядочивания) определена
 
 #include <algorithm>
 #include <string>
 #include <vector>
 #include <iostream>
 
 char input[] ="zzxxc\0abc\0zzzxxc\0abbc\0";
 
 int main(){
   std::vector<std::string> vs;
 
   const char* begin =input;
   const char* end =input+sizeof(input)/sizeof(*input);
   while(*begin){
     const char *lineend =&*std::find(begin,end,'\0');
     if(lineend==begin) break;
     vs.push_back( std::string(begin,lineend) );
     begin =lineend+1;
     }
 //   vs.push_back(""); // для теста добавить строку нулевой длины
 
   std::cout << "Before sort" << std::endl;
   std::copy(
     vs.begin(),
     vs.end(),
     std::ostream_iterator<std::string>(std::cout,"\n")
     );
 
   std::sort(vs.begin(),vs.end());
 
   std::cout << "\nAfter sort" << std::endl;
   std::copy(
     vs.begin(),
     vs.end(),
     std::ostream_iterator<std::string>(std::cout,"\n")
     );
   }
 
 Cheers,
 Serge
 --- ifmail v.2.15dev5
  * Origin: Sent via Graf's Inn at news://news.relhum.org (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сортировка   Georgy Saygin   28 Apr 2001 18:56:31 
 Re: Сортировка   Andrey Belyakov   29 Apr 2002 18:33:46 
 Сортировка   Stanislav Shwartsman   29 Apr 2002 18:15:22 
 Re: Сортировка   Andrey Belyakov   29 Apr 2002 20:55:39 
 Сортировка   Stanislav Shwartsman   29 Apr 2002 20:59:56 
 Re: Сортировка   Andrey Belyakov   29 Apr 2002 22:54:54 
 Re: Сортировка   Sergiy Kanilo   30 Apr 2002 00:19:14 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 00:56:05 
 Re: Сортировка   Sergiy Kanilo   30 Apr 2002 01:49:26 
 Re: Сортировка   Andrey Tarasevich   30 Apr 2002 02:42:26 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 13:30:13 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 08:50:15 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 13:36:23 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 12:55:47 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 14:25:35 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 14:19:47 
 Сортировка   Alexander Orlov   30 Apr 2002 16:30:43 
 Re: Сортировка   Alexander Krotoff   30 Apr 2002 18:23:26 
 Сортировка   Stanislav Shwartsman   30 Apr 2002 18:25:40 
 Сортировка   Alex Kardaniuk   30 Apr 2002 17:14:25 
 Сортировка   Alexander Orlov   30 Apr 2002 20:04:14 
 Сортировка   Evgenij Masherov   30 Apr 2002 21:21:48 
 Соpтиpовка   Stanislav Aranovsky   01 May 2002 00:19:12 
 Re: Соpтиpовка   Sergiy Kanilo   01 May 2002 02:46:33 
 Соpтиpовка   Evgenij Masherov   01 May 2002 11:26:34 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 16:24:32 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 21:19:15 
 Re: Сортировка   Andrey Belyakov   01 May 2002 01:14:33 
 Re: Сортировка   Andrey Tarasevich   01 May 2002 02:01:42 
 Сортировка   Alex Kardaniuk   30 Apr 2002 17:16:20 
 Сортировка   Evgenij Masherov   30 Apr 2002 20:35:31 
 Re: Сортировка   Sergiy Kanilo   30 Apr 2002 19:26:57 
 Re: Сортировка   Andrew Ezhguroff   01 May 2002 03:08:56 
 Re: Сортировка   Andrey Belyakov   01 May 2002 12:46:40 
 Re: Сортировка   Andrey Tarasevich   01 May 2002 21:18:18 
 Re: Сортировка   Andrey Belyakov   02 May 2002 02:28:08 
 Сортировка   Andrey Dashkovsky   01 May 2002 13:19:47 
 Re: Сортировка   Andrey Tarasevich   30 Apr 2002 02:18:04 
 Re: Сортировка   Evgenij Masherov   29 Apr 2002 19:17:50 
 Re: Сортировка   Andrey Belyakov   29 Apr 2002 20:55:40 
 Re: Сортировка   Evgenij Masherov   29 Apr 2002 20:29:58 
 Re: Сортировка   Andrey Belyakov   29 Apr 2002 22:03:31 
 Re: Сортировка   Evgenij Masherov   29 Apr 2002 22:12:23 
 Re: Сортировка   Andrey Tarasevich   30 Apr 2002 02:28:13 
 Сортировка   Comoderator Of Ru Algorithms   01 May 2002 12:57:43 
 Re: Сортировка   Alexander Krotoff   30 Apr 2002 00:23:24 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 01:00:10 
 Re: Сортировка   Andrey Tarasevich   30 Apr 2002 02:22:08 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 13:17:51 
 Сортировка   Evgeniy Jirnov   05 May 2002 11:35:40 
 Re: Сортировка   Andrey Belyakov   06 May 2002 15:53:34 
 Сортировка   Comoderator Of Ru Algorithms   07 May 2002 16:36:01 
 Смежные строки (Re: Сортировка)   Valentin Davydov   06 May 2002 17:19:48 
 Смежные строки (Re: Сортировка)   Comoderator Of Ru Algorithms   07 May 2002 16:38:04 
 Сортировка   Comoderator Of Ru Algorithms   06 May 2002 18:32:06 
 Re: Сортировка   Andrew Ezhguroff   30 Apr 2002 03:04:49 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 13:19:54 
 Сортировка   Stanislav Shwartsman   30 Apr 2002 18:18:11 
 Re: Сортировка   Andrew Ezhguroff   01 May 2002 03:08:55 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 08:51:43 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 13:21:58 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 12:50:56 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 14:21:30 
 Re: Сортировка   Evgenij Masherov   30 Apr 2002 14:19:08 
 Re: Сортировка   Andrey Belyakov   30 Apr 2002 16:20:26 
 Re: Сортировка   Andrew Ezhguroff   01 May 2002 03:08:56 
 Re^2: Соpтиpовка   Vlad Bespalov   01 May 2002 13:49:10 
 Re: Соpтиpовка   Andrey Belyakov   01 May 2002 16:18:00 
 Re: Соpтиpовка   Evgenij Masherov   01 May 2002 16:55:32 
 Соpтиpовка   Comoderator Of Ru Algorithms   02 May 2002 00:42:04 
 Re: Соpтиpовка   Evgenij Masherov   01 May 2002 16:56:57 
 Re: Соpтиpовка   Andrey Tarasevich   01 May 2002 21:24:27 
 Re: Соpтиpовка   Andrey Belyakov   02 May 2002 02:30:11 
 Re: Соpтиpовка   Alexey V. Goloborchy   02 May 2002 01:23:33 
 Re: Соpтиpовка   Andrey Belyakov   02 May 2002 02:24:04 
 Re: Соpтиpовка   Andrey Tarasevich   02 May 2002 03:10:18 
 Re: Соpтиpовка   Andrey Belyakov   02 May 2002 15:29:29 
 Re: Соpтиpовка   Andrew Ezhguroff   02 May 2002 18:08:13 
 Re: Соpтиpовка   Andrey Belyakov   02 May 2002 19:31:52 
 Re: Соpтиpовка   Andrew Ezhguroff   02 May 2002 22:49:55 
 Соpтиpовка   Comoderator Of Ru Algorithms   03 May 2002 12:36:26 
 Re: Соpтиpовка   Evgenij Masherov   02 May 2002 08:09:51 
 Соpтиpовка   Alex Cvetkov   02 May 2002 10:53:21 
 Re: Сортировка   Andrew Ezhguroff   01 May 2002 03:08:55 
 Re: Сортировка   Andrey Belyakov   01 May 2002 12:44:37 
 Re: Сортировка   Andrew Ezhguroff   02 May 2002 04:30:05 
 Re: Сортировка   Andrey Belyakov   02 May 2002 15:09:08 
 Re: Сортировка   Andrew Ezhguroff   02 May 2002 17:11:10 
 Re: Сортировка   Andrey Belyakov   02 May 2002 18:44:56 
 Re: Сортировка   Andrew Ezhguroff   02 May 2002 22:49:56 
 Сортировка   Comoderator Of Ru Algorithms   03 May 2002 12:37:01 
 Сортировка   Stanislav Shwartsman   30 Apr 2002 08:25:00 
 Сортировка   Nickita A Startcev   01 May 2002 22:32:20 
 Сортировка   Nickita A Startcev   30 Apr 2002 18:39:42 
 Соpтиpовка   Sergey Naidenov   02 Apr 2002 22:09:53 
 Соpтиpовка   Maxim Lanovoy   06 May 2002 16:34:26 
Архивное /ru.algorithms/12033d876da38.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional