0% found this document useful (0 votes)
6 views

Assignment 2

Uploaded by

hamajis508
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Assignment 2

Uploaded by

hamajis508
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Q1.

Implement Quicksort on number using array

#include <stdio.h>
int i, a, arr[100];
int partition(int arr[100], int p, int r)
{
int pivot = arr[r];
int j = p;
for (int i = p; i < r; i++)
{
if (arr[i] < arr[r])
{
int w = arr[i];
arr[i] = arr[j];
arr[j] = w;
j++;
}
}
int o = arr[j];
arr[j] = arr[r];
arr[r] = o;

int q = j;

return q;
}
int quicksort(int arr[100], int p, int r)
{
if (p < r)
{
int q = partition(arr, p, r);
quicksort(arr, p, q - 1);
quicksort(arr, q + 1, r);
}
return 1;
}

int main()
{
printf("Enter the number of element\n");
scanf("%d", &a);
printf("Enter the elepents of array\n");
for (i = 0; i < a; i++)
{
scanf("%d", &arr[i]);
}
quicksort(arr, 0, a - 1);
for (i = 0; i < a; i++)
{
printf("%d ", arr[i]);
}

return 0;
}

Q2. Implement quicksort on number using pointer

#include <stdio.h>
int partition(int *arr, int p, int r)
{
int pivot = arr[r];
int j = p;
for (int i = p; i < r; i++)
{
if (arr[i] < arr[r])
{
int w = arr[i];
arr[i] = arr[j];
arr[j] = w;
j++;
}
}
int o = arr[j];
arr[j] = arr[r];
arr[r] = o;

int q = j;

return q;
}

int quicksort(int *arr, int p, int r)


{
if (p < r)
{
int q = partition(arr, p, r);
quicksort(arr, p, q - 1);
quicksort(arr, q + 1, r);
}
return 1;
}

int main()
{
int a, arr[100];
printf("Enter the size of array\n");
scanf("%d", &a);
printf("Enter the elementsof array\n");
for (int i = 0; i < a; i++)
{
scanf("%d", &arr[i]);
}
quicksort(arr, 0, a - 1);
for (int j = 0; j < a; j++)
{
printf("%d ", arr[j]);
}
return 0;
}

Q3. Implement quicksort on character using pointer

#include <stdio.h>
#include<string.h>
int partition(char *str, int p, int r)
{
int pivot = str[r];
int j = p;
for (int i = p; i < r; i++)
{
if (str[i] < str[r])
{
int w = str[i];
str[i] = str[j];
str[j] = w;
j++;
}
}
int o = str[j];
str[j] = str[r];
str[r] = o;

int q = j;

return q;
}

int quicksort(char *str, int p, int r)


{
if (p < r)
{
int q = partition(str, p, r);
quicksort(str, p, q - 1);
quicksort(str, q + 1, r);
}
return 1;
}

int main()
{

char str[100];

printf("Enter the string\n");

scanf("%[^\n]%*c", str);

quicksort(str, 0, strlen(str)-1);

printf("%s", str);

return 0;
}

You might also like