• 大小: 3.65KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


代码稍微有点儿缺陷,默认是10个数据,用5个进程进行排序。所以其中的比较函数写死了,大家可以自己重新改一下这里。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 

using namespace std;
 
const int comm_sz=5;
//get your partner
int Compute_partner(int phaseint rank)
{
    int partner;
    if (phase%2==0)
if (rank%2!=0)
    partner=rank-1;
else
    partner=rank+1;
    else 
if (rank%2!=0)
    partner=rank+1;
else
    partner=rank-1;
    if (partner==-1||partner==comm_sz)
partner=MPI_PROC_NULL;
    return partner;
}

void swap(int& aint& b)
{
    int tmp=a;
    a=b;
    b=tmp;
}
void findMin(int* aint* b)
{
    int* result=new int[2];
    int i=0j=0;
    while ((i+j)<2)
    {
if (a[i] {
    result[i+j]=a[i];
    i++;
}
else
{
    result[i+j]=b[j];
    j++;
}
    }
    a[0]=result[0];
    a[1]=result[1];
}
void findMax(int* aint* b)
{
    int* result=new int[2];
    int i=1j=1;
    while ((i+j)>0)
    {
if (a[i]>b[j])
{
    result[i+j-1]=a[i];
    i--;
}
else
{
    result[i+j-1]=b[j];
    j--;
}
    }
    a[0]=result[0];
    a[1]=res

评论

共有 条评论