请问mql5中结构体如何排序

 

有这样一个结构体;

struct 结构

  {double            value;//值

   int               shift;//位置

   int               flag;

     };

结构  结果 [20];

请问如何根据值的大小对结构体进行排序。

 

给段代码你参考:

struct StructCurrencyPower
{
   double            value;
   string            currency;
};

StructCurrencyPower AllCurPower[8];
//--- sort AllCurPower
void SortAllPower()
{
   int total = ArraySize(AllCurPower);
   bool sorted=false;
   StructCurrencyPower tmp;
   while(!sorted)
   {
      sorted=true;
      for(int i=1; i<total; i++)
      {
         if(AllCurPower[i-1].value>AllCurPower[i].value)
         {
            tmp=AllCurPower[i-1];
            AllCurPower[i-1]=AllCurPower[i];
            AllCurPower[i]=tmp;
            sorted=false;
         }
      }
      total--;
   }
}