Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: permutacja tablicy
Forum PHP.pl > Forum > PHP
mlen
Witam,

Probuje napisac funkcje ktora bedzie zwracac wszystkie porzadki w jakich moga byc ulozone elementy tablicy.

Np. mamy tablice
  1. <?php
  2. array("A", "B", "C");
  3. ?>


i permutacja tej tablicy to:
ABC
BAC
ACB
CAB
BCA
CBA

ja natomiast chcialbym uzyskac (z tej samej 3-elementowej tablicy):
AB
AC
BA
BC
CA
CB

jak to zrobic?

pozdrawiam -- Maciek.
bela
Dwie pętle zagnieżdżone w sobie.
W pierwszej pętli zamieniasz 1. element.
W drugiej dwa pozostałe.

W pseudokodzie
Kod
for(count(arr))
for(2)
   print arr
   swap(arr[1], arr[2])
// pierwszy element na koniec tablicy


Mniej więcej, można jeszcze rekurencyjnie i złożoność będzie mniejsza
mlen
dzieki za podpowiedz!

prawdopodobnie jednak unikne rekurencji ze wzgledu na spowolnienie przy wielkosci danych ktore mam do 'obrobienia'.

natomiast, po napisaniu mego posta, naszla mnie refleksja ze to co chce osiagnac, to uzyc substringa dla kazdego el. wynikowego "standardowej" permutacji ;-)


pozdrowienia z Gdanska ;-)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.