|
阅读:861回复:0
VC中对CMoPoints对象排序出现的问题
<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> |
|