Ëã·¨Éè¼ÆÓë·ÖÎöϰÌâ´ð°¸1-6ÕÂ

} }

int main() {

int a[n]={1,3,5,9,6,0,-11,-8};

partions(a,0,n-1); for(int i=0;i

cout<<\ÊôÓÚ×Ó¼¯s1µÄ:\cout<

cout<<\ÊôÓÚ×Ó¼¯s2µÄ:\cout<

13. Éèa, a,?, aÊǼ¯ºÏ{1, 2, ?, n}µÄÒ»¸öÅÅÁУ¬Èç¹ûia£¬ÔòÐòż(a, a)³ÆÎª12nijij

¸ÃÅÅÁеÄÒ»¸öÄæÐò¡£ÀýÈ磬2, 3, 1ÓÐÁ½¸öÄæÐò:(3, 1)ºÍ(2, 1)¡£Éè¼ÆË㷨ͳ¼Æ¸ø¶¨ÅÅÁÐÖк¬

ÓÐÄæÐòµÄ¸öÊý¡£

//Óù鲢½øÐÐÅÅÐò

//µ±Ò»¸ö×Ó¼¯µÄÒ»¸öÊý´óÓÚµÚ¶þ¸ö×Ó¼¯µÄÒ»¸öÊý£¬ÎªÄæÐò£¬¼´a[i]>a[j] //ÔòÄæÐòÊýΪend-j+1; #include using namespace std; int count;

void Merge(int a[],int a1[],int begin,int mid,int end)//ºÏ²¢×ÓÐòÁÐ { int i=begin,j=mid+1,k=end; while(i<=mid&&j<=end) {

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

a1[k++]=a[i++];//È¡a[i]ºÍa[j]ÖнÏСÕß·ÅÈër1[k] else {

a1[k++]=a[j++]; count+=(end-j+1); } }

while(i<=mid) a1[k++]=a[i++]; while(j<=end) a1[k++]=a[j++]; }

void MergeSort(int a[ ], int begin, int end)

{

int mid,a1[1000]; if(begin==end) return ; else {

mid=(begin+end)/2; MergeSort(a,begin,mid); MergeSort(a,mid+1,end); Merge(a,a1,begin,mid,end); } }

int main() {

int a[6]={6,5,4,3,2,1}; count=0;

MergeSort(a,0,6); cout<

k14. Ñ­»·ÈüÈճ̰²ÅÅÎÊÌâ¡£ÉèÓÐn=2¸öÑ¡ÊÖÒª½øÐÐÍøÇòÑ­»·Èü£¬ÒªÇóÉè¼ÆÒ»¸öÂú×ãÒÔÏÂ

ÒªÇóµÄ±ÈÈüÈճ̱í:

(1)ÿ¸öÑ¡ÊÖ±ØÐëÓëÆäËûn-1¸öÑ¡ÊÖ¸÷ÈüÒ»´Î;

(2)ÿ¸öÑ¡ÊÖÒ»ÌìÖ»ÄÜÈüÒ»´Î¡£ ²ÉÓ÷ÖÖη½·¨¡£

½«2^kÑ¡ÊÖ·ÖΪ2^k-1Á½×飬²ÉÓõݹ鷽·¨£¬¼ÌÐø½øÐзÖ×飬ֱµ½Ö»Ê£ÏÂ2¸öÑ¡ÊÖʱ£¬È»

ºó½øÐбÈÈü£¬»ØËݾͿÉÒÔÖ¸¶¨±ÈÈüÈճ̱íÁË

n15. ¸ñÀ×ÂëÊÇÒ»¸ö³¤¶ÈΪ2µÄÐòÁУ¬ÐòÁÐÖÐÎÞÏàÍ¬ÔªËØ£¬ÇÒÿ¸öÔªËØ¶¼Êdz¤¶ÈΪnµÄ

3¶þ½øÖÆÎ»´®£¬ÏàÁÚÔªËØÇ¡ºÃÖ»ÓÐ1λ²»Í¬¡£ÀýÈ糤¶ÈΪ2µÄ¸ñÀ×ÂëΪ(000, 001, 011, 010, 110,

111, 101, 100)¡£Éè¼Æ·ÖÖÎËã·¨¶ÔÈÎÒâµÄnÖµ¹¹ÔìÏàÓ¦µÄ¸ñÀ×Âë¡£ //¹¹Ôì¸ñÀ×Âë #include using namespace std; int n; char a[100]; void gelei(int k) { if(k==n) {

cout<

gelei(k+1);

a[k]='0'?'1':'0'; //È¡·´

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)