Salut,
en BASIC, C, C++, COBOL, LISP, B, ALGOL (à 90), ASM, PHP, GMAP, FORTRAN ? :-)
Sinon, en algorithmique pure, ce que tu évoques me fait tout de suite penser à une gestion de chaines.
Il suffit que tu traites toutes tes données en leur ajoutant un numéro d'ordre (1,2,3...N) et un pointeur vers la ligne précédente et suivante, et en écrivant ça dans un fichier.
Genre :
Numéro d'ordre-Donnée-Suivant-Précédent
1-ABC-2-0
2-DEF-3-1
3-GHI-4-2
4-IJK-0-3
Quand tu as fini de lire toutes tes lignes tu relis tes données et tu les réécrit dans un autre fichier selon l'ordre de la chaine.
Quand tu veux insérer une ligne il suffit de modifier les pointeurs des lignes précédentes et suivantes pour garder la cohérence que tu souhaites. Bien sûr, les données que tu écrit et que tu modifies sont dans un fichier à accès direct.
Pour insérer AZZ, tu écris 5-AZZ-2-1 et tu modifies ABC en 1-ABC-5-0 et DEF en 2-DEF-3-5...
Est-ce que ça t'inspire ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"