Day 20 HW
Comment: Got the code to work, didn't take too long to figure out how to finish the two problems.
#include <stdio.h>
int a[]={1,9,3,4,7,19,35,15,20},p=0,r=9;
int partition(int a[], int p, int r);
void quicksort(int a[], int p, int r)
{
if(p < r)
{
int q;
q = partition(a, p, r);
quicksort(a, p, q);
quicksort(a, q+1, r);
}
}
int partition(int a[], int p, int r)
{
int i, j, pivot, temp;
pivot = a[p];
i = p;
j = r;
while(1)
{
while(a[i] < pivot && a[i] != pivot)
i++;
while(a[j] > pivot && a[j] != pivot)
j--;
if(i < j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
else
{
return j;
}
}
}
int main(void){
quicksort(a,p,r-1);
printf("numbers:");
for(int k=0;k<=8;k++)
{
printf("\n %i",a[k]);
}
return 0;
}
#include <stdio.h>
int a[]={1,9,3,4,7,19,35,15,20},p=0,r=9;
int partition(int a[], int p, int r);
void quicksort(int a[], int p, int r)
{
if(p < r)
{
int q;
q = partition(a, p, r);
quicksort(a, p, q);
quicksort(a, q+1, r);
}
}
int partition(int a[], int p, int r)
{
int i, j, pivot, temp;
pivot = a[p];
i = p;
j = r;
while(1)
{
while(a[i] < pivot && a[i] != pivot)
i++;
while(a[j] > pivot && a[j] != pivot)
j--;
if(i < j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
else
{
return j;
}
}
}
int main(void){
quicksort(a,p,r-1);
printf("numbers:");
for(int k=0;k<=8;k++)
{
printf("\n %i",a[k]);
}
return 0;
}
Comments
Post a Comment