Advertisement
davide1409

Merge

Dec 6th, 2021
1,000
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.52 KB | None | 0 0
  1. void Merge(int vet[], int primo, int ultimo){
  2.     int dim1 = ultimo-primo+1;
  3.     int med = (primo+ultimo)/2;
  4.     int vetapp[dim1];
  5.     int p = primo, u = med+1;
  6.  
  7.     for(int i = 0; i!=dim1; i++){
  8.         if(p>med){
  9.             vetapp[i] = vet[u];
  10.             u++;
  11.         }
  12.         if(u>ultimo){
  13.             vetapp[i] = vet[p];
  14.             p++;
  15.         }
  16.  
  17.         if(p<=med && u<=ultimo){
  18.             if(vet[p] < vet[u]){
  19.                 vetapp[i] = vet[p];
  20.                 p++;
  21.             }
  22.             else{
  23.                 vetapp[i] = vet[u];
  24.                 u++;
  25.             }
  26.         }
  27.     }
  28.  
  29.     for(int i = primo; i!=ultimo+1; i++){
  30.         vet[i] = vetapp[i-primo];
  31.     }
  32.    
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement