Форум программистов, компьютерный форум CyberForum.ru

рекурсия, пермутации - C++

Восстановить пароль Регистрация
 
Basil.z
Сообщений: n/a
08.02.2011, 23:38     рекурсия, пермутации #1
привет! алгоритм должен пробрать все возможные пермутации от 0 до n, c началом и концом в 0.
по всей видимости должна быть использована рекурсия. пример для n=3

(0,1) -> (1,2) -> (2,3) -> (3,0)
(0,1) -> (1,3) -> (3,2) -> (2,0)
(0,2) -> (2,1) -> (1,3) -> (3,0)
(0,2) -> (2,3) -> (3,1) -> (1,0)
(0,3) -> (3,1) -> (1,2) -> (2,0)
(0,3) -> (3,2) -> (2,1) -> (1,0)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2011, 23:38     рекурсия, пермутации
Посмотрите здесь:

Рекурсия C++
Рекурсия (на С) C++
Рекурсия C++
рекурсия C++
Рекурсия C++
C++ Рекурсия
C++ Рекурсия
Рекурсия C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
09.02.2011, 00:13     рекурсия, пермутации #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
using namespace std;
 
void f(int mas[3]){
    cout<<0<<"  ";
    for(int i=0; i<3; i++){
        cout<<mas[i]<<"  ";
    }
    cout<<0<<"\n";
    if(next_permutation(mas, mas+3)) f(mas);
    else return;
}
 
int main(){
    int mas[]={2,1,3};
    sort(mas, mas+3);
    f(mas);
}
Yandex
Объявления
09.02.2011, 00:13     рекурсия, пермутации
Ответ Создать тему
Опции темы

Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru