34Fermer36
ZephLe 15/12/2016 à 20:26
Hmm je crois que je ne comprends toujours pas, désolé grin

Ça veut dire quoi "on vérifie si le candidat actuel n'est pas situé plus loin que la balise actuelle" ? La balise actuelle je vois laquelle c'est, mais dans ma version initiale un "candidat" c'est une collection de plusieurs balises, donc il n'a pas d'index (enfin plus exactement il y en a plusieurs) : il peut être situé simultanément devant et derrière une balise, ou bien la chevaucher. En revanche comme les balises sont parcourues dans l'ordre de leur index, on est certain que la balise actuelle a toujours un index supérieur à ceux de toutes les balises de toutes les séquences formées jusqu'ici. Du coup je ne comprends pas bien ton opération qui consiste à comparer l'index de la balise actuelle avec l'index d'un candidat : d'une part parce que ce que j'appelle un candidat possède plusieurs index, d'autre part parce qu'on sait déjà qu'ils sont tous inférieurs à ceux de la balise actuelle.

En revanche si j'essaie de comprendre l'algo d'après ta dernière phrase, tu veux dire qu'on part des balises fermantes et qu'on essaie de trouver des correspondances en remontant dans la chaine jusqu'à trouver la balise ouvrante la plus proche ? Ça veut dire que dans toto[a]tutu[a]titi[/a] ce sont les deux dernière balises (en rouge) qu'on va remplacer, je me serais plutôt attendu à ce qu'on remplace la première et la dernière, mais à la limite ça n'est pas bien grave. Si c'est bien ça, c'est peut-être une bonne idée en effet, j'essaierai cette version smile