Lab Report: Bubble Sort
Lab Report: Bubble Sort
Insertion Sort:
#include<iostream>
using namespace
std; void insertionSort(int array[], int
size)
{ for(int i=1; i<size;i++)
{ int temp = array[i]; int j = i
- 1;
while(j>=0 && array[j]>temp)
{ array[j+1] = array[j]; j--; }
// cout << array[j+1] << " " << endl; array[j+1] = temp; } }
int main()
{ int array[] = {1,5,4,6,3,2,0,7,9,8}; int size =
sizeof(array)/sizeof(array[0]); insertionSort(array,size);
for(int i =0;i<size;i++)
{ cout << array[i] << " "; } }
Merge Sort:
#include <iostream> using namespacestd;
int arr[6] = {6, 5, 12, 10, 9, 1};
void merge(int l, int r, int m) { int
size_l = m - l + 1; int
size_r = r - m; int left_arr[size_l],
right_arr[size_r]; for
(int i = 0; i < size_l; i++) { left_arr[i] = arr[l + i]; }
for (int i = 0; i < size_r; i++) { right_arr[i] = arr[m + 1 + i]; }
int i = 0, j = 0, k = l;
while (i < size_l && j < size_r) { if
(left_arr[i] <= right_arr[j]) { arr[k]
= left_arr[i]; i++;
} else { arr[k] = right_arr[j]; j++;
} k++; }
while (i < size_l) { arr[k] =
left_arr[i]; i++;
k++; }
while (j < size_r) { arr[k] =
right_arr[j]; j++;
k++; } }
void mergesort(int l, int r) { if (l >= r) return; int m = l + (r - l) /
2; mergesort(l, m); mergesort(m + 1, r);
merge(l, r, m); }
void printArray(int size) {
for (int i = 0; i < size; i++) { cout << arr[i] << " "; } }
Quick Sort:
#include<iostream> using namespace std; int partition(int array[], int start, int end)
{ int pivot = array[end]; int i = start -1;
for(int j=start;j<=end-1;j++)
{ if(array[j]< pivot)
{ i++; int temp = array[i]; array[i] =
array[j]; array[j] = temp; }
} i++; int temp = array[i]; array[i] = array[end];
array[end] = temp; return i;
}
void quickSort(int array[], int start, int end)
{ if(end <= start) return;
int pivot = partition(array, start ,end); quickSort(array, start, pivot -1);
quickSort(array, pivot +1, end);
}
int main()
{ int array[] = {1,5,4,6,3,2,0,7,9,8}; int size = sizeof(array)/sizeof(array[0]); quickSort(array,
0, size-1); for(int i =0;i<size;i++)
{ cout << array[i] << " "; } }
Selection Sort:
#include<iostream> using namespace std; void selectionSort(int array[], int size)
{ for (int i = 0; i<size-1;i++) { int min
= i; for (int j = i+1; j<size;j++) {
if(array[min]>array[j]) min = j;
} int temp = array[i]; array[i] = array[min];
array[min] = temp; }
} int main()
{ int array[] = {1,5,6,4,2,3}; int size = sizeof(array)/sizeof(array[0]);
for (int i = 0; i<size;i++) cout << array[i] << " "; }
selectionSort(array, size);
cout << "\nAfter Sorting: "; for (int i = 0; i<size;i++)
{ cout << array[i] << " ";
} }