Вставка сортировки в OpenMP

я пытаюсь написать OpenMP решение для сортировки вставки, но яУ меня возникли проблемы, чтобы он работал параллельно и давал правильные результаты :). Есть ли способ заставить Insertion сортировать его параллельно?

Вот мой код:

void insertionsort(int *A, int num)
{

// clock_t start, stop;
// 
// start=clock();
int k;
#pragma omp parallel for shared(A) private(k)
for(int n = 1; n < num; n++)
{
    int key = A[n];
    k = n;
#pragma omp critical

    for(;k>0 && A[k-1]> key;k--)
    {
        A[k] = A[k-1];   
    }



    A[k] = key;  


}
// stop=clock();
// cas = (double)(stop-start)/CLOCKS_PER_SEC;
}

Ответы на вопрос(1)

Ваш ответ на вопрос