#include<stdio.h>
void merge(int arr[],int l,int mid,int r){
int n1=mid-l+1;
int n2=r-mid;
int L[n1],R[n2];
int i=0,j=0,k=0;
for(i=0;i<n1;i++){
L[i]=arr[l+i];
}
for(j=0;j<n2;j++){
R[j]=arr[mid+1+j];
}
i=0;
j=0;
k=l;
while(i<n1&&j<n2){
if(L[i]<=R[j]){
arr[k]=L[i];
i++;
}
else{
arr[k]=R[j];
j++;
}
k++;
}
while(i<n1){
arr[k]=L[i];
i++;
k++;
}
while(j<n2){
arr[k]=R[j];
j++;
k++;
}
}
void mergesort(int arr[],int l,int r){
int mid=0;
if(l<r){
mid=l+(r-l)/2;
mergesort(arr,l,mid);
mergesort(arr,mid+1,r);
merge(arr,l,mid,r);
}
// printf("%d\n",r);
}
int main()
{
int arr[]={8,5,7,2,0,3};
int i=0;
int r=0;
r=sizeof(arr)/sizeof(int);
mergesort(arr,0,r-1);
for(i=0;i<r;i++){
printf("%d\t",arr[i]);
}
printf("\n");
return 0;
}
Bitwise Operators : Bitwise Operators do not operate on decimal value of the Number. They first convert the numbers into binary value & then they operate on it. Bitwise opeartors are not used with floating type variables. Bitwise AND :- & Bitwise OR :- | Bitwise XOR :- ^ Bitwise NOT :- ~ LEFT SHIFT :- << RIGHT SHIFT :- >> Bitwise AND & Example : N1 = 10 , N2 = 15 N1 & N2 In Binary : 0 0 1 0 1 0 0 0 1 1 1 1 ...
Comments
Post a Comment