计算机算法设计与分析课程设计常规题目的(C及C++)代码集

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

合并排序1:

#include

using namespace std;

const int N=100;

class list

{

public:

int array[N];

void input(int a);

void merge(int arrayc[],int arrayd[],int l,int m,int r);

void mergepass(int arrayx[],int arrayy[],int s);

void mergesort(int array1[]);

void diaplay(int a);

};

void list::input(int a)

{

cout<<"Please input shorted array:"<

for(int i=0;i

cin>>array[i];

}

void list::merge(int arrayc[],int arrayd[],int l,int m,int r)

{

int i=l;

int j=m+1;

int k=l;

while((i<=m)&&(j<=r))

if(arrayc[i]<=arrayc[j])

arrayd[k++]=arrayc[i++];

else arrayd[k++]=arrayc[j++];

if(i>m)

for(int q=j;q<=r;q++)

arrayd[k++]=arrayc[q];

else

for(int q=i;q<=m;q++)

arrayd[k++]=arrayc[q];

}

void list::mergepass(int arrayx[],int arrayy[],int s)

{

int i=0;

while(i<=N-2*s)

{

merge(arrayx,arrayy,i,i+s-1,i+2*s-1);

i=i+2*s;

}

1

相关文档
最新文档