Question
Write a program that creates three identical arrays, list1, list2, and list3 of 5000 elements. The program then sorts list1 using bubble sort, list2 using
Write a program that creates three identical arrays, list1, list2, and list3 of 5000 elements. The program then sorts list1 using bubble sort, list2 using selection sort, and list3 using insertion sort and outputs the number of comparisons and item assignments made by each sorting algorithm
//--------------main----------------
#include
using namespace std;
int main() { int list1[5000]; int list2[5000]; int list3[5000];
int compBubbleSort = 0, compSelectionSort = 0, compInsertionSort = 0; int assignBubbleSort = 0, assignSelectionSort = 0, assignInsertionSort = 0;
fillArray(list1, 5000); copyArray(list1, list2, 5000); copyArray(list1, list3, 5000);
bubbleSort(list1, 5000, compBubbleSort, assignBubbleSort); selectionSort(list2, 5000, compSelectionSort, assignSelectionSort); insertionSort(list3, 5000, compInsertionSort, assignInsertionSort);
cout << "Number of comparisons---" << endl; cout << " Bubble sort: " << compBubbleSort << endl; cout << " Selection sort: " << compSelectionSort << endl; cout << " Insertion sort: " << compInsertionSort << endl << endl;
cout << "Number of item assignments---" << endl; cout << " Bubble sort: " << assignBubbleSort << endl; cout << " Selection sort: " << assignSelectionSort << endl; cout << " Insertion sort: " << assignInsertionSort << endl << endl;
return 0; }
//---------end of main-------------
//--------functions.cpp-------------
#include
using namespace std;
inline void fillArray(int list[], int length) { srand(time(0)); for (int i = 0; i < length; i++) list[i] = rand() % 20000; }
inline void copyArray(int list1[], int list2[], int length) { for (int i = 0; i < length; i++) list2[i] = list1[i]; }
inline void bubbleSort(int list[], int length, int& comp, int& assign) { // write a function using bubble sort to sort the provided array
// assign "comp" to the number of comparisons required
// assign "assign" to the number of item assignments }
inline void selectionSort(int list[], int length, int& comp, int& assign) { // write a function using selection sort to sort the provided array
// assign "comp" to the number of comparisons required
// assign "assign" to the number of item assignments }
inline void insertionSort(int list[], int listLength, int& comp, int& assign) { // write a function using insertion sort to sort the provided array
// assign "comp" to the number of comparisons required
// assign "assign" to the number of item assignments }
//-------end of functions.cpp-------
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started