Toujours sur mon algo de tri, j'ai un problème avec des tableaux en allocation dynanique :
Code :
- int n = 5; // Nombre d'éléments à trier au départ
- while (n < 10000000)
- {
- int *t_rapide; // Tableau pour le tri rapide
- int *t_tas; // Tableau pour le tri par tas
- int *t_trie; // Tableau trié de sauvegarde
- t_rapide = new int [n];
- t_tas = new int [n+1];
- t_trie = new int [n];
- // instructions.....
- for (int k=0; k<12; k++)
- ......
- // Restitution de la mémoire dynamique
- delete[] t_rapide;
- delete[] t_tas;
- delete[] t_trie;
- // Augmentation du nombre de données
- n = n+50000;
- }
|
Il est bien évident que je dois supprimer les tableaux au fur et à mesure sinon ça me prends toute ma mémoire, mais ça me met un très joli message à l'execution :
Code :
- *** glibc detected *** ./projet: free(): invalid next size (fast): 0x0000000000603030 ***
- ======= Backtrace: =========
- /lib/libc.so.6[0x2acb308a6b0a]
- /lib/libc.so.6(cfree+0x8c)[0x2acb308aa6fc]
- ./projet[0x401a5a]
- /lib/libc.so.6(__libc_start_main+0xf4)[0x2acb30852b44]
- ./projet(__gxx_personality_v0+0x59)[0x400db9
|
Vous voyez d'ou ça vient ?
Merci !