|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg Khovayko 2:5020/400 29 Dec 2002 20:41:07 To : Sergey Bestuzhev Subject : Re: Перестановки -------------------------------------------------------------------------------- Sergey Bestuzhev wrote: > Есть 2х мерный массив, в каждой строке по слову, нужно найти все перестановки > этих слов, Брр!! Ты подразумеваешь одномерный массив строк, что ли? > но не рекурсией ей я знаю как. Или хотяб мысли по этому поводу. Какие мысли... Учите матчасть! То есть библиотеки. > (Чтобы небыло упреков говарю сразу:Это не в институт!!! Просто очень надо.) Hу раз надо - так бери. Hаписано на C++ с использованием STL-ной функции, генерящей перестановки. Как видишь - дешево и эффективно: /*---------------------- INCLUDES & DEFINES --------------------*/ #include <string> #include <vector> #include <iostream> #include <numeric> using namespace std; typedef vector<string> VS; #define ALL(V) V.begin(),V.end() #define PV(V) cout<<#V<<"={|";copy(ALL(V),ostream_iterator<typeof(*(V.begin()))>(cout,"|"));co ut<<"}\n"; //---------------- main () ---------------- const char *strings[] = { "First", "Second", "Third", "Fourth" }; int main () { VS mas(strings, strings + sizeof(strings)/sizeof(char*)); sort(ALL(mas)); do { PV(mas); } while(next_permutation(ALL(mas))); return 0; } --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6577397b1dc3.html, оценка из 5, голосов 10
|