归并排序的伪代码

      今天在看算法导论的时候,发现有一个练习,就是要写出归并排序的算法的伪代码。个人秉承学习的态度写了下来,以此纪念学习算法的开始~

     归并排序算法的核心操作是归并:

    void Merge( T A,T &B, s,m,e)//将A中的A[s..m]和A[m+1..e]合并成B[s..e]

   {

       for( j = m+1,k = s; j <=e && s<= m;k++)

      {

                if( A[j] < A[s] ) B[k] = A[j++];  

                esle B[k] = A[s++];

      }

      if( s <= m ) B[k..e] = A[s..m];

      if( j <= e)  B[k..e] = A[j..e];

         

    }

   排序算法

  void MSort(T A,T &B,int s,int t)

  {

    if(s== t) B[s] = A[s];

    else

   {

       m = (s+t)/2;

       MSort(A,B,s,m);

       MSort(A,B,m+1,t);

       Merge(A,B,s,m,t);

    }

 }

 

 }

你可能感兴趣的:(归并排序的伪代码)