1 Lab program Data Structures & Algorithms
1 Lab program Data Structures & Algorithms
Bubble Sort
#include <stdio.h>
int main(){
printf("Please Enter the Number of Elements you want in the array: ");
scanf("%d", &num);
scanf("%d", &arr[x]);
temp = arr[y];
arr[y + 1] = temp;
return 0;
Output
10
Selection Sort
#include <stdio.h>
void selection_sort();
int a[30], n;
void main()
int i;
printf("\nEnter size of an array: ");
scanf("%d", &n);
scanf("%d", &a[i]);
selection_sort();
printf("\n\nAfter sorting:\n");
printf("\n%d", a[i]);
void selection_sort()
min = i;
min = j;
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
OUTPUT:
After sorting:
Insertion Sort
#include <stdio.h>
int i, key, j;
key = arr[i];
j = i - 1;
arr[j + 1] = arr[j];
j = j - 1;
arr[j + 1] = key;
int main() {
insertionSort(arr, n);
printf("\n");
return 0;
Output
5 6 11 12 13
Quick Sort
#include<stdio.h>
if(first<last){
pivot=first;
i=first;
j=last;
while(i<j){
while(number[i]<=number[pivot]&&i<last)
i++;
while(number[j]>number[pivot])
j--;
if(i<j){
temp=number[i];
number[i]=number[j];
number[j]=temp;
} }
temp=number[pivot];
number[pivot]=number[j];
number[j]=temp;
quicksort(number,first,j-1);
quicksort(number,j+1,last);
}
}
int main(){
scanf("%d",&count);
for(i=0;i<count;i++)
scanf("%d",&number[i]);
quicksort(number,0,count-1);
for(i=0;i<count;i++)
printf(" %d",number[i]);
return 0;
Output
Enter 6 elements: 8
-3
#include <stdio.h>
#define max 10
int a[11] = { 10, 14, 19, 26, 27, 31, 33, 35, 42, 44, 0 };
int b[10];
for(l1 = low, l2 = mid + 1, i = low; l1 <= mid && l2 <= high; i++) {
b[i] = a[l1++];
else
b[i] = a[l2++];
b[i++] = a[l1++];
b[i++] = a[l2++];
a[i] = b[i];
int mid;
sort(mid+1, high);
} else {
return;
int main() {
int i;
sort(0, max);
Output
10 14 19 26 27 31 33 35 42 44 0
0 10 14 19 26 27 31 33 35 42 44
Radix Sort
#include<stdio.h>
max = a[i];
return max;
NOP++;
lar /= 10;
bucket_cnt[i] = 0;
bucket[r][bucket_cnt[r]] = a[i];
bucket_cnt[r] += 1;
i = 0;
a[i] = bucket[k][j];
i++;
divisor *= 10;
int i, n, a[10];
}
radix_sort (a, n);
return 0;
Output
Heap Sort
#include <stdio.h>
*a = *b;
*b = tmp;
int leftChild = 2 * i + 1;
int rightChild = 2 * i + 2;
max = leftChild;
max = rightChild;
if (max != i) {
swap(&arr[i], &arr[max]);
heapify(arr, n, max);
heapify(arr, n, i);
}
}
printf("\n");
//Driver code
int main() {
printf("Original array:\n");
display(arr, n);
heapSort(arr, n);
printf("Sorted array:\n");
display(arr, n);
Output
Original array:
11 34 9 5 16 10
Sorted array:
5 9 10 11 16 34