MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | OPTIONAL, VERALTET |
| 2 | SYNOPSIS |
| 3 | mixed *insert_alist(mixed key, mixed data, ... , mixed *alist); |
| 4 | int insert_alist(mixed key, mixed *keys); |
| 5 | |
| 6 | BESCHREIBUNG |
| 7 | 1. Form: Einfuegen in eine Alist. |
| 8 | Der <key> und alle foglenden <data> Argumente werden in die Alist |
| 9 | eingefuegt. Wenn bereits ein Eintrag fuer <key> existiert, werden |
| 10 | nur die <data> Eintraege ersetzt. Natuerlich muss die Anzahl <data> |
| 11 | Argumente der Anzahl der Datenarrays in der Alist entsprechen. |
| 12 | Das Resultat dieser Operation ist die neue Alist. |
| 13 | |
| 14 | 2. Form: Einfuegen eines Keys |
| 15 | Der <key> wird in ein (geordnetes) Array von <keys> eingeordnet, |
| 16 | sodass nachfolgendes assoc()s schnell suchen koennen. Das Resultat |
| 17 | ist der Index, unter dem <key> eingefuegt oder bereits gefunden |
| 18 | wurde. |
| 19 | |
| 20 | ANMERKUNG |
| 21 | Wird mit String-Keys gearbeitet, kann der Index nach dem naechsten |
| 22 | Aufruf von insert_alist() nicht mehr gueltig sein. |
| 23 | |
| 24 | Komplexitaet: O(lg(n) + a*n) fuer n gleich der Anzahl der Keys und |
| 25 | eine sehr kleine Konstante s (fuer Blockverschiebungen). |
| 26 | |
| 27 | SIEHE AUCH |
| 28 | alists(LPC), assoc(E), order_alist(E) |