资源简介
openmp实现快速排序 用NUM_THREADS设置线程数 建树时间θ(1), 树高θ(logn) 时间复杂度θ(logn)
代码片段和文件信息
#include
#include
#include
#include
#define ARRAY_SIZE 100
#define NUM_THREADS ARRAY_SIZE
int A[ARRAY_SIZE];
int RC[ARRAY_SIZE];
int LC[ARRAY_SIZE];
int f[ARRAY_SIZE];
int root;
void printarray(int root)
{
if (LC[root]!= ARRAY_SIZE+1)
printarray(LC[root]);
printf(“%d \n“ A[root]);
if (RC[root]!= ARRAY_SIZE+1)
printarray(RC[root]);
}
int main()
{
omp_set_num_threads(NUM_THREADS);
int i j k;
//initialize the array A
srand((int)time(0));
for (i=0; i A[i] = (int)rand();
#pragma omp parallel for shared(root)
for (i=0; i
评论
共有 条评论