violinming
路人甲
路人甲
  • 注册日期2004-05-17
  • 发帖数9
  • QQ
  • 铜币153枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:861回复:0

VC中对CMoPoints对象排序出现的问题

楼主#
更多 发布于:2005-03-08 20:18
<P>各位好,小弟在VC中想把CMoPoints 对象排序。只想将Y值最小的元素放到第一个位置,可是怎么弄怎么不对,帮忙看看吧。我的代码是这样的:</P>
<P> VARIANT V1,V2;</P>
<P> V1.vt = VT_INT;
 V2.vt = VT_INT;
   int min,i,lenth;
 min = 0;
 i = 0;
 lenth = points.GetCount();
 V1.intVal = min;
 for(i=1;i<lenth;i++)
 {
  V2.intVal = i;
  if(points.Item(V1).GetY()>points.Item(V2).GetY())
  {
   min = i;
   V1.intVal = min;
  }
  else
   if(points.Item(V1).GetY() == points.Item(V2).GetY())
   {
    if(points.Item(V1).GetX()>points.Item(V2).GetX())
    {
     min = i;
     V1.intVal = min;
    }
   }
 }
 VARIANT V;
 V.vt = VT_INT;
 V.intVal = 0;
 CMoPoint tempPoint = points.Item(V);
 points.Remove(0);
 V.intVal = min;
 points.Insert(min,points.Item(V));
 points.Remove(min);
 points.Insert(min,tempPoint);</P>

<P>当我在其他地方调用这个函数上面的代码时,总是不能把Y值最小的点放到地一个位置上。</P>
喜欢0 评分0
游客

返回顶部