Jaką strukturę danych zastosować?

Odpowiedz Nowy wątek
2011-09-21 12:14
albercittto
0

Witajcie drodzy forumowicze,
Zastanawiam się jaką strukturę danych wybrać. Potrzebuje takiej struktury, do której będę mógł dodać liczbę, a później usunąć tę liczbę podając jej wartość, a nie pozycje na której się znajduje. Czyli usuwanie po wartości. Konieczna jest też możliwość iteracji po tej strukturze.

Pozostało 580 znaków

2011-09-21 12:19
0

http://www.cplusplus.com/reference/stl/set/
http://www.cplusplus.com/reference/stl/multiset/


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

2011-09-21 12:23
albercittto
0

A możę zapytam inaczej. Potrzebuje iterować po kolumnach i wierszach pewnej macierzy (tablicy dwuwymiarowej). W każdej iteracji wybieram kilka kolumn i jeden wiersz, który chce "wyrzucić" i żeby w kolejnej iteracji nie był brany pod uwagę.

Wymyśliłem tak, że do struktury danych wrzucam cały zbiór wierszy i kolumn i odpowiednio z tej struktury wyrzucam wiersze i kolumny i iterując tylko po pozostałych elementach w strukturze. Czy to oby dobry pomysł? Czy istnieje lepszy pomysł, który nie potrzebuje aż tak dużo pamięci? Chciałbym wykonywać takie operacje na tablicach o wymiarach nawet 10000x10000. Proszę o pomoc

Pozostało 580 znaków

2011-09-21 12:38
0

musisz porobic doswiadczenia ktore rozwiazanie jest najszybsze:
set<int> col,row; // zapisane ktore kolumny,wiersze wyswietlac - trzeba uzupelniac
vector<bool> tab(m*n,true); // vector<bool> jest zoptymalizowany do trzymania booli, takze taka tablica powinna zajmowac ok. 11MB, jednakze bedzie ciut wolniejsza

mozesz sprobowac obliczac ile danych zostalo usunietych i dodatkowo gdy np ilosc tych danych bedzie wieksza niz 20% calej tablicy to przealokowac cala tablice


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 2x, ostatnio: krwq, 2011-09-21 14:17
set<bool> ?? - vpiotr 2011-09-21 13:56
set<int> mialo byc :P juz poprawiam - krwq 2011-09-21 14:16

Pozostało 580 znaków

2011-09-21 13:01
0

http://www.linuxtopia.org/onl[...]ractical_programming_202.html


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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