Je déplace ton sujet dans algorithme, je pense que tu auras plus de réponse vu que ton sujet n'est pas en C.
Pour ton sujet, il faut simplement gérer des états, par exemple "1" fourmi, "2" objet, "3" fourmi + objet.
En gros, l'algo doit se présenter à peu près comme ça :
TANT QUE des objets sont sur le tableau (en gros, tant que des cases >=2 existent)
POUR CHAQUE fourmi PARMI toutes les fourmis du tableau
SI fourmi sans objet
ALORS
Marquer l'objet le plus proche comme destination
SINON
Le couvain est la prochaine destination.
FIN SI
Calculer le chemin vers la prochaine destination.
Avancer la fourmi d'une case sur ce chemin.
SI la case contient un objet
ALORS
La "fourmi vide" devient une "fourmi avec objet"
SINON SI la case est le couvain
ALORS
La "fourmi avec objet" devient une "fourmi vide"
FIN SI
FIN POUR
FIN TANT QUE
Evidemment, la partie ardue, c'est trouver l'objet le plus proche et calculer un chemin vers une destination.
edit : plein de réponses sur google : http://www.google.fr/search?q=tri+du+couvain
edit 2 : par contre j'ai l'impression que le déplacement des fourmis est aléatoire sur les sites que je zieute... ce qui simplifie la tache.