Portál AbcLinuxu, 15. července 2025 09:16


Dotaz: PHP zlúčenie polí

26.2.2012 15:53 adrinko | skóre: 22
PHP zlúčenie polí
Přečteno: 205×
Odpovědět | Admin
Ahojte, zakladám túto tému, možno by sa to niekomu mohlo zísť, a mne tiež :) Mám takéto pole:
Array
(
    [0] => Array
        (
            [0] => A
            [1] => B
        )
 
    [1] => Array
        (
            [0] => B
            [1] => E
        )
 
    [2] => Array
        (
            [0] => C
            [1] => D
        )
 
    [3] => Array
        (
            [0] => A
            [1] => E
        )
 
    [4] => Array
        (
            [0] => B
            [1] => F
        )
 
)
Potreboval by som spravit z tohto poľa nové pole, ktoré by všetko vytriedilo nasledovne: Skontroluje kombinácie A-F a podľa toho by som potreboval dostať pole zo skupinou písmen, ktoré nadväzujú na seba. V tomto prípade by som mal dostať výsledok písmen ABE, lebo sú kombinácie AB, AE a súčasne niektoré hodnoty [1] sú vo vzájomnej kombinácii BE. napadá Vás ako na to?

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.2.2012 00:30 l4m4
Rozbalit Rozbalit vše Re: PHP zlúčenie polí
Odpovědět | | Sbalit | Link | Blokovat | Admin
1. Přerepresentuje se to méně idiotskou datovou strukturou, např. dvourozměrným polem M kde M[X][Y] je True právě tehdy, existuje-li šipka X => Y (standardní representace relace/grafu). Kontrola A-F se provede triviálně např. přitom.

1½. Nevím, zda je dán začátek A, nebo začátek může být jiné písmeno. Předpokládám A (jinak se musí nějak projet i ostatní).

2. seznam = {A}, nejdelší seznam = {}

3. pro všechny Y z A-F:

3.a. pokud M[X][Y] není True pro některé X se seznamu: zkontroluj, zda je seznam delší než nejdelší zapamatovaný, případně si ho zapamatuj coby nejdelší, a každopádně pokračuj dalším Y

3.b. pokud je Y už v seznamu, tak graf obsahuje cyklus -- začni panikařit...

3.c. přidej Y na konec seznamu, rekursivně pokračuj od 3, pak zase odeber posledí prvek seznamu

4. návrat z rekurse

Není to nejeektivnější postup, ale IMO zase srozumitelný.
27.2.2012 10:35 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: PHP zlúčenie polí
ďakujem!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.