Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #28177
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: Struktura do przydzielania numerków |
| Date | 2015-12-07 03:09 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <n42pnu$1kp$1@node2.news.atman.pl> (permalink) |
| References | (5 earlier) <n3t46b$ol1$1@node1.news.atman.pl> <n3t8qq$tv4$1@node1.news.atman.pl> <n3u7o7$rbe$1@node1.news.atman.pl> <n41nka$cvu$1@node1.news.atman.pl> <n41vqp$77h$1@node2.news.atman.pl> |
On 06.12.2015 19:47, Borneq wrote:
> W dniu 2015-12-06 o 17:26, bartekltg pisze:
>> Czasowo jest gorsze.
>> Pamięćiowo najprawdopoobnij też (ile na raz okien będzie otwartych?),
>> a te dodatkowe 32 bity chyba nie są takim wqielkim narzutem, skoro
>> jadna liczba przyopada na okno (bardziej skomplikowaną strukturę).
>
> Jak to dokładnie będzie wyglądało? Przypuśćmy że mamy tablicę 256
> wartości uint32_t, na razie pustą. Poza tym jedną liczbę oznaczającą
> numer uchwytu do pobrania, gdy nic nie będzie w kolejce. Na początku ta
> liczba jest 0, potem 1,2..99. zwalniamy 5, potem 2, potem 7.
> W kolejce jest 5,2,7 w takiej kolejności, nie koniecznie kolejności
> wzrastających id. Allokujemy: bierzemy 5, itd. aż gdy kolejka będzie
> pusta to bierzemy 100 ?
class numerkomat{
uint32_t nastepny_numrek;
stack<numerek> data;
public:
numerkomat();
void numerek daj_numetek(){
zwroc_numerek( numerek x) {
};
numerek numerkomat::daj_numetek(){
if (data.empty()) napelnij_numerkami( nastepny_numerek*2);
numerek wyn = data.top();
data.pop();
return wyn;
}
void numerek numerkomat::zwroc_numerek(numerek x ){
{
data.push(x);
}
numerkomat::numerkomat()
{
napelnij_numerkami(100); //magiczna liczba, poprawić
}
void numerkomat:: napelnij_numerkami( numerek do_ilu )
{
for (numerek n = nast_numerek; n != do_ilu; n++)
{
data.push(n);
}
}
Dziel problem na poziomy. Powyżej masz klasę, która przydziela
numerki (nietestowana, szkicowana na kolanie). Tu używa std:stack.
W 20s podmienisz to na std:queue lub własną kalsę będącą cyklicznym
buforem zbudowanym na vectro (co jest drugim, zupełnie niezależnym
i niekoniecznie potrzebnym zadaniem).
Pewnie warto by też klasę numerek napisać tak, aby była niekopiowalna,
i tego typu obekty produkować tylko wewnętrz numerkomatu.
Trzeba by wtedy zmienić implementacje i wywołanie napelnij_numerkami,
ale za to użytkownik nie strzeli sobie w stopę tak łatwo, np zwracajkąc
ręcznie wpisaną liczbę.
pzdr
bartekltg
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-04 15:04 +0100
Re: Struktura do przydzielania numerków Adam M <amorawski@magna-power.com> - 2015-12-04 06:16 -0800
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-04 15:19 +0100
Re: Struktura do przydzielania numerków Adam M <amorawski@magna-power.com> - 2015-12-04 06:51 -0800
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-04 16:17 +0100
Re: Struktura do przydzielania numerków Adam M <amorawski@magna-power.com> - 2015-12-04 11:10 -0800
Re: Struktura do przydzielania numerków "M.M." <mmarszik@gmail.com> - 2015-12-04 11:17 -0800
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-04 23:30 +0100
Re: Struktura do przydzielania numerków bartekltg <bartekltg@gmail.com> - 2015-12-05 00:49 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-05 09:37 +0100
Re: Struktura do przydzielania numerków bartekltg <bartekltg@gmail.com> - 2015-12-06 17:26 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-06 19:47 +0100
Re: Struktura do przydzielania numerków bartekltg <bartekltg@gmail.com> - 2015-12-07 03:09 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-07 10:31 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-07 01:05 +0100
Re: Struktura do przydzielania numerków bartekltg <bartekltg@gmail.com> - 2015-12-07 03:13 +0100
Re: Struktura do przydzielania numerków "M.M." <mmarszik@gmail.com> - 2015-12-04 08:21 -0800
Re: Struktura do przydzielania numerków Adam Klobukowski <adamklobukowski@gmail.com> - 2015-12-04 08:31 -0800
Re: Struktura do przydzielania numerków "M.M." <mmarszik@gmail.com> - 2015-12-04 09:13 -0800
Re: Struktura do przydzielania numerków Adam M <amorawski@magna-power.com> - 2015-12-04 10:58 -0800
Re: Struktura do przydzielania numerków bartekltg <bartekltg@gmail.com> - 2015-12-05 00:45 +0100
Re: Struktura do przydzielania numerków "M.M." <mmarszik@gmail.com> - 2015-12-05 03:44 -0800
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-06 10:12 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-06 10:21 +0100
Re: Struktura do przydzielania numerków Borneq <borneq@antyspam.hidden.pl> - 2015-12-06 11:29 +0100
csiph-web