summaryrefslogtreecommitdiff
path: root/lib/SList.cc
blob: ae2f54f8b02523358fac6312ad2396ee9bd7cf54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
#include "config.h"
#include "SList.h"

/**********************\
*                      *
*  Liste chaînée triée *
*                      *
\**********************/

 /*

  * Nous faisons une classe dérivée de la classe CList. La seule méthode qui
  * va changer pour créer une liste chaînée triée est l'Insertion. Elle va
  * placer directement l'élément à insérer à la bonne place.
  *
  */

Cell SList::Insert(Key_t IKey, Datas_t const &IDatas)
{
	CList *I = this, *x;

	for (x = Right; (x) && (x->Key <= IKey); x = x->Right)
		I = x;
	return (new CList(I, IDatas, IKey));
}