Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int A[100],B[100];
- void MergeFunction(int A[],int p,int q,int m)
- {
- int i,k,j;
- i=p;
- j=m+1;
- k=p;
- while(i<=m && j<=q)
- {
- if(A[i]<A[j])
- {
- B[k]=A[i];
- i++;
- }
- else{
- B[k]=A[j];
- j++;
- }
- k++;
- }
- if(i<=m ){
- while(i<=m){
- B[k]=A[i];
- i++;
- k++;
- }
- }
- else{
- while(j<=q){
- B[k]=A[j];
- j++;
- k++;
- }
- }
- for(i=p;i<=q;i++){
- A[i]=B[i];
- }
- }
- void MergeSort(int A[],int p,int q)
- {
- int m; ///M for Mid value
- if(p<q){
- m=((p+q)/2);
- MergeSort(A,p,m);
- MergeSort(A,m+1,q);
- MergeFunction(A,p,q,m);
- }
- }
- int main(){
- int a[100],j,i,n;
- cout<<"Enter the number the elements"<<endl;
- cin>>n;
- cout<<"Enter all elements"<<endl;
- for(i=0;i<n;i++){
- cin>>a[i];
- }
- MergeSort(a,0,n-1);
- for(i=0;i<n;i++){
- cout<<a[i];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement