Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- void mergesort(int A[],int B[],int left, int mid, int right){
- int i = left;
- int left_end = mid-1;
- int p = left;
- while (mid <= right && left<=left_end){
- if(A[left]<=A[mid])
- B[p++]=A[left++];
- else
- B[p++]=A[mid++];
- }
- while (left <=left_end)
- B[p++] = A[left++];
- while(mid <= right)
- B[p++] = A[mid++];
- for(;i<=right;i++)
- A[i]=B[i];
- }
- void sorting(int A[],int B[],int left,int right){
- if(left>=right) return;
- int mid = (left+right)/2;
- sorting(A,B,left,mid);
- sorting(A,B,mid+1,right);
- mergesort(A,B,left,mid+1,right);
- }
- int main (){
- int A[10]={3,7,9,1,3,10,5,4,6,8};
- int B[10]={};
- int i;
- sorting(A,B,0,9);
- for (i=0;i<10;i++)
- printf("%d ",B[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement