首页 >

分治算法中排序的完整代码? – 网络|

更新显卡驱动后怎么还原,怎么解除绿钻手机钻,电脑考勤软件怎么使用说明分治算法中排序的完整代码? - 网络|分治算法中排序的完整代码

1.数组要传递引用,否则不会被改变。

2.代码要加括号:

for(int k=p-1;k!=r;++k) {

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

A[k]=L[i];

++i;

}

else if(L[i]>R[j]){

A[k]=R[j];

++j;

}

}

-------------------

完整代码:

#include<iostream>

#include<vector>

#include<cstdlib>

using namespace std;

void MERGE(vector<int> &A,int p,int q,int r)

{

int i,j,k=0;

int n1=q-p+1;

int n2=r-q;

vector<int> L((n1+1),0),R((n2+1),0);

for(vector<int>::size_type i=0;i!=n1;++i)

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

for(vector<int>::size_type j=0;j!=n2;++j)

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

L[n1]=88888;

R[n2]=88888;

i=0;

j=0;

for(int k=p-1;k!=r;++k) {

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

A[k]=L[i];

++i;

}

else if(L[i]>R[j]){

A[k]=R[j];

++j;

}

}

}

void MERGE_SORT(vector<int> &A,int p,int r)

{

int q;

if(p<r){

if((r-p+1) % 2==0)q=(r+p+1)/2-1;

if((r-p+1) % 2==1)q=(r+p)/2;

MERGE_SORT(A,p,q);

MERGE_SORT(A,q+1,r);

MERGE(A,p,q,r);

}

}

int main()

{

int val;

vector<int> A;

//while(cin>>val)

// A.push_back(val);

A.push_back(9);

A.push_back(8);

A.push_back(2);

A.push_back(4);

A.push_back(3);

MERGE_SORT(A,1,A.size());

for(vector<int>::iterator ix=A.begin();ix!=A.end();++ix)

cout<<*ix<<‘ ‘;

system(“pause”);

return 0;

}


分治算法中排序的完整代码? - 网络|
  • 在法人认证申报时统一社会信用代码被已注册怎么办? - 网络|
  • 在法人认证申报时统一社会信用代码被已注册怎么办? - 网络| | 在法人认证申报时统一社会信用代码被已注册怎么办? - 网络| ...

    分治算法中排序的完整代码? - 网络|
  • 如何利用PHP实现延时提交数据的方法 |xampp搭建php开发环境变量
  • 如何利用PHP实现延时提交数据的方法 |xampp搭建php开发环境变量 | 如何利用PHP实现延时提交数据的方法 |xampp搭建php开发环境变量 ...

    分治算法中排序的完整代码? - 网络|
  • 哪款企业网站源码对搜索引擎比较友好? - 网络|
  • 哪款企业网站源码对搜索引擎比较友好? - 网络| | 哪款企业网站源码对搜索引擎比较友好? - 网络| ...