[Qt] Lista list a dodawanie elementów

0

Mam strukturę: QList<QList<int>> lista;

Jak dodawać do niej nowe elementy? Jeśli po prostu odwołam się do indeksu, wyskoczę poza pamięć?

0

ukradli ci kropkę? IDE z intellisensem po napisaniu
lista.
wyświetli ci wszystko co ci potrzebne ;)

0

IntelliSense nie ma zamiaru mi o dziwo podpowiedzieć ;P Każe zajrzeć do troubleshoota i pisze że nie wie co zrobić...

Więc...?

0
QList<QList<int> > lista;

obowiązkowa spacja, żeby nie było konfliktu z operatorem >> ;)
i intellisense mówi że masz
append, operator+, operator+=, push_back, push_front,

0

ok, doszedłem że w zasadzie i tak odwoła mi się do nieistniejącego obszaru pamięci np. poprzez lista[i].apend(j), więc wygląda na to, że muszę tworzyć tymczasowe listy jednowymiarowe i kolejno umieszczać je appendem/pushem w liście. Chyba, że ktoś ma inny pomysł.

0

Ale co ty chcesz zrobić? Najpierw przecież musisz wypełnić tą twoją listę listami, a dopiero potem się odwoływać do nich. Nie ma innej rady. Po co ci lista list tak w ogóle?

0
Shalom napisał(a)

Ale co ty chcesz zrobić? Najpierw przecież musisz wypełnić tą twoją listę listami, a dopiero potem się odwoływać do nich. Nie ma innej rady. Po co ci lista list tak w ogóle?

Wczytuję pliki ARFF, które są zbiorami dla algorytmów uczenia się maszyn i generalnie mają prosty format:

-podawane są wierszami
-kolejne atrybuty podawane są po przecinku
-ostatni jest zawsze klasyfikator

Więc stwierdziłem, że QLista QList to rozsądny twór. A masz jakieś inne propozycje?</quote>

0

Ok rozumiem, ale nie widzę problemu. Na wejściu masz wiersz. Robisz
lista.append(new QList<int>());
a potem czytasz elementy tego wiersza i wstawiasz do tej listy. Ale lepiej:
tworzysz listę QList<int>, wrzucasz do niej cały wiersz danych, a potem dodajesz ją do twojej głównej listy.

Twój problem polegał tylko na tym że tworzyłeś listę WSKAZAŃ na listy. Te wskazania były puste wiec próba odwołania sie do nich generowala błąd.

0
Shalom napisał(a)

Ale lepiej:
tworzysz listę QList<int>, wrzucasz do niej cały wiersz danych, a potem dodajesz ją do twojej głównej listy.

Dokładnie :) Też zauważyłem problem i posłużyłem się tym rozwiązaniem przez Ciebie napisanym :) Tempowa QLista appendowana do środka :)

Dzięki za radę!!

Teraz tylko debugging, breakpointy już dodane... Oby poszło...

1 użytkowników online, w tym zalogowanych: 0, gości: 1