![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 2 Dołączył: 30.11.2009 Ostrzeżenie: (10%) ![]() ![]() |
witam, poszukuje skryptu/algorytmu ktory z jakiejs tablicy ktora zawiera integery wszystkie kombinacje bez powtorzen
np $tab[a] = 1; $tab[b] = 2; $tab[c] = 3; wszystkie kombinacje to 123 213 321 312 231 i moze jeszcze pare |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To ja po kilku postach naszkicuję szybko algorytm:
1. Weź tablicę i usuń duplikaty. 2. Jeśli tablica ma jakieś elementy weź ją i ustaw ją do przechodzenia w pętli 3. Jeśli tablica ma 1 element wyświetl elementy ze znajdujących się "wyżej" pętli i ten element oraz wróć do pętli wyższego rzędu i przesuń licznik na kolejny element 3. Jeśli ma więcej elementów, tablicę pomniejsz o wybrany element 4. Pomniejszona tablica jest pętlą kolejnego rzędu, czyli wracamy do kroku 2. Można to optymalizować jak ja zasugerowałem, czyli gdy tablica ma już tylko 2 elementy, to wyświetlamy wszystkie wcześniejsze a owe dwa elementy tylko zamieniamy miejscami w wynikach. Z jednej rekurencji wtedy spadamy dodając 2 wyniki w tym przebiegu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 06:11 |