blob: 32b1c20414805db3ec9725a4662a683342c2158e [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001VERALTET
2SYNOPSIS
3 mixed *order_alist(mixed *keys, mixed *data, ...);
4 mixed *order_alist(mixed *list);
5
6BESCHREIBUNG
7 Diese Funktion erzeugt eine Alist.
8
9 Gibt man zwei oder mehr Argumente an, muss das erste Argument
10 ein Array von Keys enthalten, die nachfolgenden Argumente
11 sind Arrays von Datenelementen. Alle <data> Argumente muessen
12 die gleiche Groesse (also die gleiche Anzahl Elemente) wie <keys>
13 haben.
14
15 Gibt man nur ein Argument <list> an, so muss es sich dabei um ein
16 Array handeln, das als erste Element ein Array von Keys und als
17 weitere Elemente Arrays mit Datenelementen enthaelt. Alle Elemente
18 von <list> muessen die gleiche Groesse haben.
19
20 order_alist() liefert ein Array zurueck, das das sortierte <keys>
21 Array und die gleich sortierten <data> Arrays enthaelt. Auf die
22 <data> Arrays wird die gleiche Permutation wie auf das <key> Array
23 angewendet.
24
25 Die Komplexitaet ist O(n*lg(n)+n*m), wobei n die Anzahl Elemente im
26 <keys> Array darstellt, m die Anzahl <data> Arrays + 1.
27
28 Die Dimensionen der Arrays werden gegenueber LISP genau umgekehrt
29 verwendet, um ein schnelleres Suchen zu ermoeglichen.
30
31 Keys muessen vom Typ Integer, String oder Object sein. Die Typen
32 koennen auch gemischt sein.
33
34SIEHE AUCH
35 alists(LPC), mappings(LPC), insert_alist(E), assoc(E),
36 transpose_array(E)