ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÓôúÂëչʾһϺϲ¢ÅÅÐòËã·¨
2014-11-24 01:40:38 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:2297´Î
Tags£º´úÂë չʾ ºÏ²¢ ÅÅÐò Ëã·¨

#include


void Merge(int c[],int d[],int l,int m,int r)


{//ºÏ²¢c[l:m]ºÍc[m+1:r]µ½d[l:r]


int i=l,


j=m+1,


k=l;


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


if(c[i]<=c[j]) d[k++]=c[i++];


else d[k++]=c[j++];


if(i>m)for(int q=j;q<=r;q++)


d[k++]=c[q];


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


d[k++]=c[q];


}


void MergePass(int x[],int y[],int s,int n)


{//ºÏ²¢´óСΪsµÄÏàÁÚ×ÓÊý×é


int i=0;


while(i<=n-2*s){


//ºÏ²¢´óСΪsµÄÏàÁÚ2¶Î×ÓÊý×é


Merge(x,y,i,i+s-1,i+2*s-1);


i=i+2*s;


}


//Ê£ÓàµÄÔªËظöÊýÉÙÓÚ2s


if(i+s

else for(int j=i;j<=n-1;j++)


y[j]=x[j];


}


void MergeSort(int a[],int n)


{


int *b=new int [];


int s=1;


while(s

MergePass(a,b,s,n);//ºÏ²¢µ½Êý×éb


s+=s;


MergePass(b,a,s,n);//ºÏ²¢µ½Êý×éa


s+=s;


}


}


int main()


{


int t[20];


cout<<¡±ÇëÊäÈëÊý×é:\n¡±;


cout<<¡±ÊäÈë0½áÊø\n¡±;


int p=0;


int g=-1;


while(g!=0){


cin>>g;


if(g!=0)


{ t[p]=g;


p++;


//g++;


}


}


/*for(int g=0;g<5;g++)


cin>>t[g];*/


MergeSort(t,p);


for(int i=0;i

{


cout<

}


return 0;


}


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÅàѵѧУJ2EE¸ß¼¶ÅàѵʦÃæÊÔÌâ ÏÂһƪ£ºÅàѵѧУJava¸ß¼¶ÅàѵʦÃæÊÔÌâ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿