标题: 快速移动数组 [打印本页]

作者: bibi    时间: 2015-4-18 21:04
标题: 快速移动数组
有三个数组
        double *YValues;
        double *YValues2;
        double *YValues3;

        YValues = new double[NumberPoints];  //500
        YValues2 = new double[NumberPoints];
        YValues3 = new double[NumberPoints];

        delete[] YValues;
        delete[] YValues2;
        delete[] YValues3;

=====================================================================================
  1. 将数组的数据都向前移动一位,一般方法是for循环。像这样。。
  2. for(UINT i=0;i < NumberPoints-1;i++)
  3. {
  4. YValues[i] =YValues[i+1];
  5. YValues2[i] =YValues2[i+1];
  6. YValues3[i] =YValues3[i+1];       
  7. }

  8. 另外一个比较快速的方法是这样:

  9. memmove(YValues,YValues+1,sizeof(double)*NumberPoints);
  10. memmove(YValues2,YValues2+1,sizeof(double)*NumberPoints);
  11. memmove(YValues3,YValues3+1,sizeof(double)*NumberPoints);
复制代码










欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1