MERGE Shell Quick
MERGE Shell Quick
#include <stdio.h>
int i, j, k;
i = lowerIndex;
j = middleIndex + 1;
k = lowerIndex;
tempArray[k] = originalArray[i];
i++;
} else {
tempArray[k] = originalArray[j];
j++;
k++;
tempArray[k] = originalArray[i];
i++;
k++;
tempArray[k] = originalArray[j];
j++;
k++;
}
originalArray[k] = tempArray[k];
int middleIndex;
// Print the current state of the array after each merge operation
printf("\n");
int main() {
int size, i;
scanf("%d", &size);
int array[size];
scanf("%d", &array[i]);
QUICK SORT:
#include <stdio.h>
int i = first;
int j = last;
while (i < j) {
i++;
j--;
if (i < j) {
a[i] = a[j];
a[j] = temp;
a[first] = a[j];
a[j] = temp;
quicksort(a, j + 1, last);
}
}
int main() {
int n, i;
scanf("%d", &n);
int a[n];
scanf("%d", &a[i]);
quicksort(a, 0, n - 1);
return 0;
SHELL SORT:
#include <stdio.h>
int main() {
int i,j,temp,n;
scanf("%d",&n);
int a[n];
printf("\n\n\n\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
int gap;
for(gap=n/2;gap>=1;gap=gap/2)
for(j=gap;j<n;j++)
for(i=j-gap;i>=0;i=i-gap)
if(a[i+gap]>a[i])
break;
else
temp=a[i+gap];
a[i+gap]=a[i];
a[i]=temp;
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;