CPU是1511-1PN .
变量表:
// //堆排序;;根据网上C语言改造的.
// //最后一个数据无法被排序!
IF #Flag_Index = 10 THEN
#Flag10_Struct.len := 9999;
FOR #Flag10_Struct.i := #Flag10_Struct.len / 2 - 1 TO 0 BY -1 DO
#Flag10_Struct.dad := #Flag10_Struct.i;
#Flag10_Struct.son := #Flag10_Struct.dad * 2 + 1;
WHILE (#Flag10_Struct.son <= #Flag10_Struct.len - 1) DO
IF (#Flag10_Struct.son + 1 <= #Flag10_Struct.len - 1 AND #Flag2_Struct.In[#Flag10_Struct.son] < #Flag2_Struct.In[#Flag10_Struct.son + 1]) THEN
#Flag10_Struct.son += 1;
END_IF;
IF (#Flag2_Struct.In[#Flag10_Struct.dad] > #Flag2_Struct.In[#Flag10_Struct.son]) THEN
EXIT;
ELSE
#Flag10_Struct.tmp := #Flag2_Struct.In[#Flag10_Struct.son];
#Flag2_Struct.In[#Flag10_Struct.son] := #Flag2_Struct.In[#Flag10_Struct.dad];
#Flag2_Struct.In[#Flag10_Struct.dad] := #Flag10_Struct.tmp;
#Flag10_Struct.dad := #Flag10_Struct.son;
#Flag10_Struct.son := #Flag10_Struct.dad * 2 + 1;
END_IF;
END_WHILE;
END_FOR;
FOR #Flag10_Struct.i := #Flag10_Struct.len - 1 TO 0 BY -1 DO
#Flag10_Struct.tmp := #Flag2_Struct.In[#Flag10_Struct.i];
#Flag2_Struct.In[#Flag10_Struct.i] := #Flag2_Struct.In[0];
#Flag2_Struct.In[0] := #Flag10_Struct.tmp;
#Flag10_Struct.dad := 0;
#Flag10_Struct.son := #Flag10_Struct.dad * 2 + 1;
WHILE (#Flag10_Struct.son <= #Flag10_Struct.i - 1) DO
IF (#Flag10_Struct.son + 1 <= #Flag10_Struct.i - 1 AND #Flag2_Struct.In[#Flag10_Struct.son] < #Flag2_Struct.In[#Flag10_Struct.son + 1]) THEN
#Flag10_Struct.son += 1;
END_IF;
IF #Flag2_Struct.In[#Flag10_Struct.dad] > #Flag2_Struct.In[#Flag10_Struct.son] THEN
EXIT;
ELSE
#Flag10_Struct.tmp := #Flag2_Struct.In[#Flag10_Struct.son];
#Flag2_Struct.In[#Flag10_Struct.son] := #Flag2_Struct.In[#Flag10_Struct.dad];
#Flag2_Struct.In[#Flag10_Struct.dad] := #Flag10_Struct.tmp;
#Flag10_Struct.dad := #Flag10_Struct.son;
#Flag10_Struct.son := #Flag10_Struct.dad * 2 + 1;
END_IF;
END_WHILE;
END_FOR;
END_IF;