Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void index_sort(Index *pIndex)
- {
- short i=0,j=0;
- char pivot_nom[NOM], pivot_prenom[PRENOM];
- char compar1[NOM+PRENOM], compar2[NOM+PRENOM];
- long pivot_offset;
- long pivot_registre;
- while(i< OUVRIER_MAX)
- {
- /*on ne trie que les lignes occupée*/
- if( (pIndex+i)->NumRegistre != -1)
- {
- /*tri*/
- strcpy(pivot_nom,(pIndex+i)->nom);
- strcpy(pivot_prenom,(pIndex+i)->prenom);
- pivot_registre = (pIndex+i)->NumRegistre;
- pivot_offset = (pIndex+i)->offsetOuvrier;
- j = i;
- if(j>0)/*on tri que si il y a plus de 1 entree*/
- {
- /*concaténation des nom et prenom pour le tri*/
- strcpy(compar1,(pIndex+i)->nom);
- strcat(compar1,(pIndex+i)->prenom);
- strcpy(compar2,(pIndex+j-1)->nom);
- strcat(compar2,(pIndex+j-1)->prenom);
- while(j > 0 && strcmp(compar2,compar1) == 1)
- {
- strcpy( (pIndex+j)->nom,(pIndex+j-1)->nom);
- strcpy( (pIndex+j)->prenom,(pIndex+j-1)->prenom);
- (pIndex+j)->offsetOuvrier = (pIndex+j-1)->offsetOuvrier;
- (pIndex+j)->NumRegistre = (pIndex+j-1)->NumRegistre;
- j--;
- strcpy(compar2,(pIndex+j-1)->nom);
- strcat(compar2,(pIndex+j-1)->prenom);
- }
- strcpy( (pIndex+j)->nom, pivot_nom);
- strcpy( (pIndex+j)->prenom, pivot_prenom);
- (pIndex+j)->offsetOuvrier = pivot_offset;
- (pIndex+j)->NumRegistre = pivot_registre;
- }
- }
- i++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment