排序算法之选择排序

已锁定

'Razor

西门子1847工业学习平台

  • 帖子

    3562
  • 精华

    46
  • 被关注

    235

论坛等级:至圣

注册时间:2008-03-31

钻石 钻石 如何晋级?

排序算法之选择排序

2603

12

2017-11-24 01:53:15

先上效果图

升序排列

降序排列

代码如下:

//============================================================================

//NAME:SelectionSort

//TYPE:FC BLOCK

//LANGUAGE:SCL

//AUTHOR:3ao

//VERSION:1.0

//FAMILY:Triao A&E

//USER-DEFINED ID:Sort_Selection

//----------------------------------------------------------------------------

//functional description:

//this FC is to sort the Array contains INT-type elements by using selection sort.

//----------------------------------------------------------------------------

FUNCTION "SelectionSort_SCL" : Void

{ S7_Optimized_Access := 'FALSE' }

VERSION : 0.1

   VAR_INPUT 

      "Ascending / Dscending" : Int;

   END_VAR


   VAR_IN_OUT 

      "array" : Array[0..9] of Int;

   END_VAR


   VAR_TEMP 

      externalIndex : Int;

      internalIndex : Int;

      min : Int;

      max : Int;

      length : Int;

      temp : Int;

   END_VAR

BEGIN

#length := 9;

IF #"Ascending / Dscending" = 0 THEN

   

   FOR #externalIndex := 0 TO #length DO

       #min := #externalIndex;

       FOR #internalIndex := #externalIndex + 1 TO #length DO

           IF #array[#internalIndex] < #array[#min] THEN

               #min := #internalIndex;

               #temp := #array[#externalIndex];

               #array[#externalIndex] := #array[#min];

               #array[#min] := #temp;

           END_IF;

           ;

       END_FOR;

       

   END_FOR;

ELSE

   FOR #externalIndex := 0 TO #length DO

       #max := #externalIndex;

       FOR #internalIndex := #externalIndex + 1 TO #length DO

           IF #array[#internalIndex] > #array[#max] THEN

               #max := #internalIndex;

               #temp := #array[#externalIndex];

               #array[#externalIndex] := #array[#max];

               #array[#max] := #temp;

           END_IF;

           ;

       END_FOR;

       

   END_FOR;

END_IF;

END_FUNCTION


排序算法之选择排序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54778条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。