仙居人家
我來了。
級別: 網(wǎng)絡(luò)英雄
精華主題: 2 篇
發(fā)帖數(shù)量: 740 個
工控威望: 5423 點
下載積分: 25465 分
在線時間: 1376(小時)
注冊時間: 2016-06-08
最后登錄: 2024-12-21
查看仙居人家的 主題 / 回貼
樓主  發(fā)表于: 2023-02-02 13:06
程序里寫的是自己用從小到大排序的。
如果要從大到小也很簡單,自己改一下比較指令就行。
管理員看見了,記的加精,程序?qū)懹凶⑨,大家都能看懂?div class="griwsov" id="alert_tpc" style="color:gray;margin-top:30px">[ 此帖被仙居人家在2023-02-02 15:53重新編輯 ]
附件: 比較大小排序,從小到大排隊.zip (448 K) 下載次數(shù):2221
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+1(似水流年ol)
  • 下載積分:+1(思考使人進步)
  • 下載積分:+5(加勒比海帶)
  • 下載積分:+1(天天向上學習) 感謝分享!
  • 下載積分:+5(jiangwei) 真誠感謝!
  • 下載積分:+5(langui) 熱心助人!
  • 下載積分:+1(智趣黃sir) 感謝分享!
  • 永無止境 !@#$%^&*
    天下風云出我輩,一入江湖歲月催。
    皇圖霸業(yè)談笑中,不勝人間一場醉。
    提劍跨騎揮鬼雨,白骨如山鳥驚飛。
    塵事如潮人如水,只嘆江湖幾人回。
    發(fā)照片
    問題少年
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 213 個
    工控威望: 305 點
    下載積分: 1534 分
    在線時間: 71(小時)
    注冊時間: 2020-07-12
    最后登錄: 2024-12-20
    查看發(fā)照片的 主題 / 回貼
    1樓  發(fā)表于: 2023-04-30 15:40
    那如果100個數(shù)值對應(yīng)地址,要把這100個地址里的數(shù)據(jù)不變,要求數(shù)據(jù)大小排列怎么做?
    發(fā)照片
    問題少年
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 213 個
    工控威望: 305 點
    下載積分: 1534 分
    在線時間: 71(小時)
    注冊時間: 2020-07-12
    最后登錄: 2024-12-20
    查看發(fā)照片的 主題 / 回貼
    2樓  發(fā)表于: 2023-09-15 15:08
    IF Enable THEN
        IF LDP(TRUE,ContentStart) THEN
            SortEnd:=FALSE;
            ZRST(TRUE,DataOut1[0],DataOut1[29]);
            ZRST(TRUE,DataOut2[0],DataOut2[29]);
            ZRST(TRUE,DataContent_Min[0],DataContent_Min[29]);
            ZRST(TRUE,DataContent_Max[0],DataContent_Max[29]);
            Data_i:=0;
            MoveEnd:=TRUE;
        END_IF;
        IF MoveEnd THEN
            FOR Data_i:=0 TO DataNumber-1 BY 1 DO
                DataContent_Min[Data_i]:=DataContent[Data_i];  
                DataContent_Max[Data_i]:=DataContent[Data_i];
            END_FOR;    
            SortStart:=TRUE;
            MoveEnd:=FALSE;
        END_IF;
        IF SortStart THEN
            DataNumber_i:=0;
            FOR DataNumber_i:=0 TO DataNumber-2 BY 1 DO  
                DataSort:=DataNumber-(DataNumber_i+1);
                FOR DataSort_i:=0 TO DataSort-1 BY 1 DO
                    IF DataContent_Min[DataNumber_i+DataSort_i+1]<=DataContent_Min[DataNumber_i] THEN
                        DataContent_N_E_Min:=DataContent_Min[DataNumber_i];
                        DataContent_S_E_Min:=DataContent_Min[DataNumber_i+DataSort_i+1];
                        DataContent_Min[DataNumber_i]:=DataContent_S_E_Min;
                        DataContent_Min[DataNumber_i+DataSort_i+1]:=DataContent_N_E_Min;
                        DataOut2[DataNumber_i]:=DataContent_S_E_Min;
                        DataOut2[DataNumber-1]:=DataContent_N_E_Min;
                    END_IF;    
                    IF DataContent_Max[DataNumber_i+DataSort_i+1]>=DataContent_Max[DataNumber_i] THEN
                        DataContent_N_E_Max:=DataContent_Max[DataNumber_i];
                        DataContent_S_E_Max:=DataContent_Max[DataNumber_i+DataSort_i+1];
                        DataContent_Max[DataNumber_i]:=DataContent_S_E_Max;
                        DataContent_Max[DataNumber_i+DataSort_i+1]:=DataContent_N_E_Max;
                        DataOut1[DataNumber_i]:=DataContent_S_E_Max;
                        DataOut1[DataNumber-1]:=DataContent_N_E_Max;
                    END_IF;    
                END_FOR;    
            END_FOR;
            SortStart:=FALSE;
            SortEnd:=TRUE;
        END_IF;
    END_IF;