comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: How to use associative arrays in Ada 2005?
Date: Mon, 27 Nov 2006 21:08:46 +0000
Date: 2006-11-27T21:08:46+00:00	[thread overview]
Message-ID: <m2r6voa97l.fsf@grendel.local> (raw)
In-Reply-To: 1164567954.228842.32980@h54g2000cwb.googlegroups.com

"snoopysalive" <matthias.kistler@gmx.de> writes:

> Nation    | Family Name   |  Name               | Age*
> ----------|---------------|---------------------|------
> German    | Goethe        | Johann Wolfgang     | 60
>           |               | Catharina Elisabeth | 80
>           |               | Johann Caspar       | 90
>           | Hesse         | Hermann             | 51
> Japanese  | Kusanagi      | Motoko              | 29
> American  | Ford          | Henry               | 45
>           |               | Harrison            | 41
> Finnish   | Torvalds      | Linus               | 35
> ----------|---------------|----------------------------

There's no reason I can see to use maps of maps *for this problem*. I
would use a hash function (Nation x Family_Name x Name) => Hash_Type
in a single map.

Matt, I see (A.18.4(5)) that Ada.Containers doesn't allow hash
collisions (which, if true, is demanding a lot of hash function
designers). If collisions aren't allowed we could go for an ordered
map based on 

    Left.Nation < Right.Nation 
    and then Left.Family_name < Right.Family_Name 
    and then Left.Name < Right.Name

or some likely-to-be-more-efficient order.



  parent reply	other threads:[~2006-11-27 21:08 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-21 10:11 How to use associative arrays in Ada 2005? snoopysalive
2006-11-21 11:49 ` Georg Bauhaus
2006-11-21 14:18 ` Matthew Heaney
2006-11-21 23:35   ` snoopysalive
2006-11-23 19:27     ` snoopysalive
2006-11-23 19:40       ` Georg Bauhaus
2006-11-24  0:33       ` Georg Bauhaus
2006-11-24 11:49         ` Matthew Heaney
2006-11-24  8:27       ` Dmitry A. Kazakov
2006-11-24 11:51         ` Matthew Heaney
2006-11-26 19:05           ` snoopysalive
2006-11-26 20:30             ` Matthew Heaney
2006-11-27  9:15             ` Dmitry A. Kazakov
2006-11-27 19:53               ` Matthew Heaney
2006-11-27 21:11                 ` Dmitry A. Kazakov
2006-11-27 21:52                   ` Matthew Heaney
2006-11-28  8:29                     ` Alex R. Mosteo
2006-11-28 13:19                       ` Matthew Heaney
2006-11-28  8:34                     ` Dmitry A. Kazakov
2006-11-28 13:21                       ` Matthew Heaney
2006-11-27 21:08             ` Simon Wright [this message]
2006-11-27 22:22               ` Matthew Heaney
2006-11-27 22:58                 ` Simon Wright
2006-11-28  1:55                   ` Matthew Heaney
2006-11-24 11:35       ` Matthew Heaney
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox