Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dodawanie elementu do wnętrza tablicy Array
grz16w
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 14.07.2009
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam. Jako że mam pewien problem, z którym wyjątkowo nie potrafię sobie poradzić od kilku dni, postanowiłem zapytać o niego ekspertów. Jest to mój pierwszy post, zawsze radziłem sobie sam i wiem do czego służy wyszukiwarka. Mianowicie wygląda to tak:

Mam tablicę obiektów, w której to obiekty są posortowane wg ich pola $obiekt->id. Chciałbym wykonać pętlę, która by sortowała moją tablicę tak, aby po każdym obiekcie o danym $obiekt->id znalazły się obiekty, które wartość $obiekt->id2 mają taką samą jak $obiekt->id poprzedzającego je obiekt. Oczywiście namieszałem, ale w skrócie to chodzi mi o funkcję, która wpisywałaby mi nową wartość do tablicy w jakimś tam miejscu wewnątrz, a nie jako ostatni element, jednocześnie przesuwając indeksy kolejnych kluczy, od miejsca wstawienia nowego elementu o 1 dalej. Nie mam pojęcia jak to rozwiązać. Pozdrawiam wszystkich i z góry dziękuję za konstruktywne odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Algorytm prostego sortowania przez wstawianie się kłania. Przebieg pętli składa się z trzech faz:

1. Szukasz miejsca do wstawienia
2. Wstawiasz element
3. Przesuwasz wszystkie obiekty o jedną pozycję do przodu.

Przesuwanie robi się bardzo prosto. Jesteś na pozycji X w tablicy. Zapamiętujesz jej obiekt w zmiennej tymczasowej A, a na pozycję wstawiasz obiekt ze zmiennej tymczasowej B. Następnie przepisujesz obiekt ze zmiennej A do B. Tyle. Pierwszą wartość zmiennej B bierzesz z pozycji tablicy, pod którą wstawiasz nowy element.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 15:57