From: Jere <jhb.chat@gmail.com>
Subject: Re: Tally
Date: Wed, 15 Jan 2020 15:09:53 -0800 (PST)
Date: 2020-01-15T15:09:53-08:00 [thread overview]
Message-ID: <d097db6b-b30c-4cbd-8343-b18592d924bc@googlegroups.com> (raw)
In-Reply-To: <lyo8v5ytv3.fsf@pushface.org>
On Wednesday, January 15, 2020 at 4:03:14 AM UTC-5, Simon Wright wrote:
> Brad Moore writes:
>
> > for Number of Input loop
> > Counts (Number) := Counts (Number) + 1;
> > end loop;
>
> for Number of Input loop
> if Counts.Contains (Number) then
> Counts (Number) := Counts (Number) + 1;
> else
> Counts.Insert (Number, 1);
> end if;
> end loop;
>
> and then of course
>
> for C in Counts.Iterate loop
> Put_Line (Count_Maps.Key (C)'Image
> & " -> "
> & Count_Maps.Element (C)'Image);
> end loop;
I might recommend using insert every iteration and seeing if
it fails or succeeds. Since it gives a cursor regardless of
success, you can use that get the element and avoid doing
all the searches each time:
for Number of Input loop
-- Try to insert a new element. This will
-- fail if the element already exists
Counts.Insert
(Key => Number,
New_Item => 1,
Position => Position,
Inserted => Inserted);
-- Since the element already exists, simply
-- increment the count
if not inserted then
Counts(Position) := Counts(Position) + 1;
end if;
end loop;
next prev parent reply other threads:[~2020-01-15 23:09 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-14 15:27 Tally Gilbert Gosseyn
2020-01-14 16:22 ` Tally Niklas Holsti
2020-01-14 17:28 ` Tally Simon Wright
2020-01-15 11:52 ` Tally Simon Wright
2020-01-14 21:08 ` Tally Jeffrey R. Carter
2020-01-15 3:40 ` Tally Brad Moore
2020-01-15 9:03 ` Tally Simon Wright
2020-01-15 23:09 ` Jere [this message]
2020-01-16 11:34 ` Tally Simon Wright
2020-01-16 15:35 ` Tally Brad Moore
2020-01-16 20:20 ` Tally Randy Brukardt
2020-01-16 22:03 ` Tally Jeffrey R. Carter
2020-01-16 22:00 ` Tally Jeffrey R. Carter
2020-01-16 22:25 ` Tally Simon Wright
2020-01-17 2:51 ` Tally Brad Moore
2020-01-17 3:08 ` Tally Brad Moore
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox