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

Алгоритм для генерации перестановок - C++

Восстановить пароль Регистрация
 
TommyG
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 48
24.12.2012, 16:41     Алгоритм для генерации перестановок #1
Ребята, привет, мне предстоит завтра защищать лабу и собственно вот задание:
Вторая задача:
Алгоритм для генерации перестановок

Код
#include <iostream>
#include "conio.h"
#include <cstdlib> 
using namespace std;
 
int X[100];
int N;
void Swap(int a,int b)
{
    int t=X[a];
    X[a]=X[b];
    X[b]=t;
}
void Generate(int k)
{
    if (k==N)
    {
        for(int i=0;i<N;i++)
            std::cout<<X[i]<<" ";
        std::cout<<"\n";
    }
    else
    { 
        for(int j=k;j<N;j++)
        {
            Swap(k,j);

            Generate(k+1);
            Swap(k,j);
	
    
	        }
    }
	
}

 
int main()
{
    std::cout<<"N=";
    std::cin>>N;
    for(int i=0;i<N;i++)
        X[i]=i+1;
	cin.get();
    Generate(0);
	cin.get();
}
Собственно я знаю что тут использован только рекурсивный алгоритм? А можете на пальцах объяснить как он действует? и также каждую строчку пожалуйста очень прошу...
Спасибо всем кто откликнется!!!

Добавлено через 2 часа 34 минуты
Добрые люди, помогите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2012, 16:41     Алгоритм для генерации перестановок
Посмотрите здесь:

C++ Алгоритм генерации перестановок в лексикографическом порядке
C++ Создать DLL для генерации перестановок и сочетаний
Алгоритм быстрой сортировки - посчитать количество перестановок и сравнений элементов массивов C++
C++ Алгоритм рекурсивной процедуры генерации перестановок чисел
C++ Cравнить число перестановок для различных сортировок
C++ Альтернативный алгоритм генерации псевдослучайных чисел
Алгоритм генерации всех комбинаций C++
C++ Класс для генерации чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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