Modify the merge sort algorithm to sort a vector of employee

Modify the merge sort algorithm to sort a vector of employees by salary.

Solution

#include <iostream>
#include <vector>
using namespace std;
vector<int> empsal; //employee salaries as vector
void merge(int low, int middle, int high) // merge combined logic
{
    int temp[empsal.size()];
    for(int i = low; i <= high; i++)
        temp[i] = empsal[i];
    int i = low,j = middle+1,k = low;
    while (i <= middle && j <= high)
{
        if(temp[i] <= temp[j])
  {
            empsal[k] = temp[i];
            i++;
        }
        else
  {
            empsal[k] = temp[j];
            j++;
        }
        k++;
    }
    while (i <= middle)
{
        empsal[k] = temp[i];
        k++;
        i++;
    }
    while (j <= high)
{
        empsal[k] = temp[j];
        k++;
        j++;
    }
}
void mergeSort(int low, int high) // merge sort logic
{
    if (low < high)
{
        int middle = (low + high) / 2;
        mergeSort(low, middle); // divide list
        mergeSort(middle+1, high); // divide list
        merge(low, middle, high); // combined of list
    }
}
int main()
{
    int b;
do
{
  cout<<\"Enter salary of employee / 0 for stop entering\";
  cin>>b; //reading salary
  empsal.push_back(b); //and stored in vector
        mergeSort(0, empsal.size()-1);
        for(int i=0;i<empsal.size();i++)
        cout<<empsal[i]<<\"\\t\";
}while(b!=0);
return 0;
}

 Modify the merge sort algorithm to sort a vector of employees by salary.Solution#include <iostream> #include <vector> using namespace std; vector&l
 Modify the merge sort algorithm to sort a vector of employees by salary.Solution#include <iostream> #include <vector> using namespace std; vector&l

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site