Temat: niezła krytyka języka PHP
Piotr L.:
Jakub L.:
Piotr L.:
Nie wiem jak Java, ale C++ to raczej powinno się uczyć od PHP łatwości konstrukcji nowych struktur danych...
To co w innych językach trzeba opisywać tonami kodu w PHP masz
A co dokładnie trzeba opisywać tonami kodu w C++?
Zdefiniuj strukturę która potrafi przechowywać zmienną liczbę nazwanych (lub nie) wartości typu float, bool, int, string, (void *), null. Zaimplementuj w tej strukturze wyszukiwanie, iteracje, sortowanie, wstawianie i usuwanie elementów. Kolejność elementów powinna być taka w jakiej je wstawiono a odwoływanie się do elementów wg nazwy optymalne czasowo.
Skoro nie ma warunku, żeby usuwanie nie było optymalne, to kombinacja listy i multisetu operujących na parach (klucz, wartość) gdzie wartość jest wskaźnikiem na to co podajesz albo na kopię.
Jeżeli usuwanie ma być optymalne, to poszukałbym listy intruzyjnej, Boost pewnie ma, i operował w liście i multisecie na elementach intruzyjnych zamiast na parach.
Wyszukiwanie odwala multiset - logarytmicznie, bo jest na drzewie.
Iteracje - jak chcesz - po kolejności wstawiania którą trzyma lista, albo po kolejności kluczy, które trzyma multiset.
Specyficzne dla C++ jest zarządzanie pamięcią, tego się nie przeskoczy, dostaje się za to kilka innych cech, które przemysł na przykład uważa za ważne. W przypadku Javy to nie zdziwiłbym się gdyby była dostępna abominacja nazwana LinkedTreeMultiSet czy cośpodobnego które realizuje taką mniej więcej specyfikacje.