Calling this function in my main.
How will I call this function in my main?
Code:
void *quickSort( void *ptr)
{
struct _qs_data *data = (qs_data *) ptr;
long left1 = data->left;
long right1 = data->right;
long *myArr = data->arr;
long depth1 = data->depth;
long result;
qs_data var1, var2, resVal;
pthread_t thread1, thread2;
if( left1 < right1 )
{
resVal.arr = myArr;
resVal.left = left1;
resVal.right = right1;
result = partition(&resVal);
var1.arr = myArr;
var1.left = left1;
var1.right = result-1;
var1.depth = depth1 - 1;
var2.arr = myArr;
var2.left = result+1;
var2.right = right1;
var2.depth = depth1 - 1;
if (depth1 > 0 )
{
pthread_create (&thread1, NULL, &quickSort, (void *)&var1);
pthread_create (&thread2, NULL, &quickSort, (void *)&var2);
pthread_join (thread1, NULL);
pthread_join (thread2, NULL);
}
else
{
quickSort ((void *)&var1);
quickSort ((void *)&var2);
}
pthread_exit(0);
}
return (NULL);
}