Advertisement
Guest User

Untitled

a guest
Mar 5th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. void mergesort(int A[],int B[],int left, int mid, int right){
  4.      int i = left;
  5.      int left_end = mid-1;
  6.      int p = left;
  7.      while (mid <= right && left<=left_end){
  8.         if(A[left]<=A[mid])
  9.             B[p++]=A[left++];
  10.         else
  11.             B[p++]=A[mid++];
  12.      }
  13.      while (left <=left_end)
  14.         B[p++] = A[left++];
  15.      while(mid <= right)
  16.         B[p++] = A[mid++];
  17.      for(;i<=right;i++)
  18.         A[i]=B[i];
  19.  
  20. }
  21. void sorting(int A[],int B[],int left,int right){
  22.     if(left>=right) return;
  23.  
  24.     int mid = (left+right)/2;
  25.     sorting(A,B,left,mid);
  26.     sorting(A,B,mid+1,right);
  27.  
  28.     mergesort(A,B,left,mid+1,right);
  29. }
  30.  
  31. int main (){
  32.     int A[10]={3,7,9,1,3,10,5,4,6,8};
  33.     int B[10]={};
  34.     int i;
  35.  
  36.     sorting(A,B,0,9);
  37.  
  38.     for (i=0;i<10;i++)
  39.         printf("%d ",B[i]);
  40.  
  41.     return 0;
  42.  
  43.  
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement