Zaibon

Untitled

May 8th, 2011
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. void index_sort(Index *pIndex)
  2. {
  3. short i=0,j=0;
  4. char pivot_nom[NOM], pivot_prenom[PRENOM];
  5. char compar1[NOM+PRENOM], compar2[NOM+PRENOM];
  6. long pivot_offset;
  7. long pivot_registre;
  8.  
  9. while(i< OUVRIER_MAX)
  10. {
  11. /*on ne trie que les lignes occupée*/
  12. if( (pIndex+i)->NumRegistre != -1)
  13. {
  14. /*tri*/
  15. strcpy(pivot_nom,(pIndex+i)->nom);
  16. strcpy(pivot_prenom,(pIndex+i)->prenom);
  17. pivot_registre = (pIndex+i)->NumRegistre;
  18. pivot_offset = (pIndex+i)->offsetOuvrier;
  19. j = i;
  20.  
  21. if(j>0)/*on tri que si il y a plus de 1 entree*/
  22. {
  23. /*concaténation des nom et prenom pour le tri*/
  24. strcpy(compar1,(pIndex+i)->nom);
  25. strcat(compar1,(pIndex+i)->prenom);
  26.  
  27. strcpy(compar2,(pIndex+j-1)->nom);
  28. strcat(compar2,(pIndex+j-1)->prenom);
  29.  
  30. while(j > 0 && strcmp(compar2,compar1) == 1)
  31. {
  32. strcpy( (pIndex+j)->nom,(pIndex+j-1)->nom);
  33. strcpy( (pIndex+j)->prenom,(pIndex+j-1)->prenom);
  34. (pIndex+j)->offsetOuvrier = (pIndex+j-1)->offsetOuvrier;
  35. (pIndex+j)->NumRegistre = (pIndex+j-1)->NumRegistre;
  36.  
  37. j--;
  38. strcpy(compar2,(pIndex+j-1)->nom);
  39. strcat(compar2,(pIndex+j-1)->prenom);
  40. }
  41. strcpy( (pIndex+j)->nom, pivot_nom);
  42. strcpy( (pIndex+j)->prenom, pivot_prenom);
  43. (pIndex+j)->offsetOuvrier = pivot_offset;
  44. (pIndex+j)->NumRegistre = pivot_registre;
  45. }
  46. }
  47. i++;
  48. }
  49.  
  50. }
Add Comment
Please, Sign In to add comment