Question: Need help with implementation of mergesort algorithm. Specfically arrays L[] and R[]. Need help using rand() function using c++. Is my main function ok?? //headers

Need help with implementation of mergesort algorithm. Specfically arrays L[] and R[]. Need help using rand() function using c++. Is my main function ok??

//headers that need to be included

#include

#include

#include

#define RAND_MAX = 327;

using namespace std;

/functions

vector mergeSort(vector v, int p, int q, int r);

vector merge(vector v, int p, int r);

vector vector_get(int n)

{

int i;

int d;

vector v;

for (i = 0; i < n; ++i)

{

/*cout << "Enter value " << i + 1 << ": ";

cin >> d;

v.push_back(d);*/

cout<

}

return v;

}

//prints a vector

void vector_print(vector v)

{

size_t i;

for (i = 0; i < v.size() - 1; ++i)

{

cout << v[i] << ", ";

}

cout << v[i] << endl;

}

vector merge(vector v, int p, int q, int r) {

int n1, n2, j, i;

int k = 0;

int n1 = q - p + 1;

int n2 = r - q;

/* create 2 arrays */

int L[n1], R[n2];

// Copy data to temp arrays L[] and R[]

for (i = 0; i < n1; i++)

L[i] = v[p + i-1];

for (j = 0; j < n2; j++)

R[j] = v[q + j];

L[n1 + 1] = R[n2 + 1] = 10000000;

i = i = 1;

//merge arrays to onw

for (k = p; k <= r; k++) {

if (L[i] <= R[j]) {

v[k] == L[i];

i++;

}

else {

v[k] == R[j];

j++;

}

}

}

vector mergeSort(vector v, int p, int r) {

int q;//middle

if (p < r); {

q = (p + r) / 2;

mergeSort(v, p, r);

mergeSort(v, q + 1, r);

merge(v, p, q, r);

}

return;

}

int main()

{

//declare variables

int n,p,r;

vector a;

//ask user how many values they want to enter

cout << "Please enter how many values would you like to enter?: ";

cin >> n;

//get elements for vector a

a = vector_get(n);

//print vector a

cout << "unsorted: ";

vector_print(a);

//print sorted vector a

cout << "sorted: ";

vector_print(mergeSort(a,p,r));

//main returns 0 upon successful completion

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!