none
VS2010和VS2012为什么这样不同 RRS feed

  • 问题

  • 假设有N个元素M1,M2,M3...Mn,其中M1有n1个,M2有n2个,M3有n3个,N=∑Mi*ni,N个元素可能出现重复,按其出现的次数进行排序,并把相同的元素放在一起,然后打印到屏幕上(相同的只打印一次)

    VS2010可以这样:

    for(i=0;i<N;i++)
     {
      for(j=0;j<N;j++)
      {
     
      ...
      if((F[i]<F[i-1]))
      {
       e=A[i];                //A[i]是第i个元素,TCHAR*类型
       A[i]=A[i-1];         
       A[i-1]=e;
       c=F[i];              //F[i]是A[i]出现的次数
       F[i]=F[i-1];
       F[i-1]=c;
      }

    ... 

    }

    为什么2012就非得这样:

    for(i=0;i<N;i++)
     if((F[i+1]<F[i]))
      {
       e=A[i+1];
       A[i+1]=A[i];
       A[i]=e;
       c=F[i+1];
       F[i+1]=F[i];
       F[i]=c;
      }


    程学武

    2013年5月26日 14:24