Bonjour tous le monde,
Je dois traiter un fichier qui fait fait à peu près 1Go. Je le chargeais entièrement en mémoire avant de le traiter mais il se trouve que le programme ne peut s'exécuter que sur des machines qui ont au moins 1Go de mémoire et là encore c'est très lent. On m'a conseillé de diviser mon fichier en bloc de page de 512 octets et d'implémenter un algorithme de pagination(MRU ou LRU). les deux derniers octet de chaque page sont réservés pour des informations sur la page(numéro,modifier ou pas, le nombre d'enregistrement,etc). On doit pouvoir se déplacer dans chaque page pour aller récupérer l'information que l'on veut.
J'ai compris tous ça mais je voudrais savoir qu'elle structure de donnée utilisée pour declarer mes pages. Je songe à un truc de ce genre:
Est ce que c'est la bonne manière de faire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 typedef Page{ unsigned char* data[512]; Page *next_page; //pour chainer les pages }
merci de me donner des exemples de structure de donnée qu'on peut utiliser pour déclarer une page de tel sorte qu'on puisse se déplacer dedans la lire, la modifier et l'enregistrer dans mon fichier.![]()
Partager