【SCL】实现简单算法--冒泡排序
创始人
2025-05-30 17:17:04
0

使用SCL语言实现一个冒泡排序的简单算法

文章目录

目录

文章目录

前言

二、实现排序

1.读取存储器地址(PEEK)指令

2.编写程序

总结


前言

本文我们来一起使用SCL来实现一个简单的算法——冒泡排序;它可以对少量数据进行从小到大或从大到小排序;另外它也是一种比较简单容易理解的一种排序方法。


一、冒泡排序

下面是在360摘抄的冒泡排序的含义和原理:





 

二、实现排序

 这里我们在博图中建立编写环境然后创建数组和变量;这里我们可以直接定义一个起始值,然后排序;也可以输入相应的值,然后再排序;

1.读取存储器地址(PEEK)指令

我们建立两个数组,一个存放初始值,一个存放排序值;这里我们想要在初始数组里面输入数值,在排序数组里面显示排序后的值 ;我们要用到scl中的读取存储器地址指令来完成;

第1个参数是选择读取哪一个区的地址,其中:16#81是输入,16#82是输出,16#83是位存储区  ,16#84是DB数据块  ;

  • 16#81:Input          

  • 16#82:Output    

  • 16#83:位存储区  

  • 16#84:DB              

 第2个参数是DB块的序号,如果是数据块DB1,那么序号就是1,以此类推;

第3个参数是待读取的地址,这里我是用的数据块,所以地址是它的偏移量; 

 


2.编写程序

首先获取我们初始数组的数值传到排序数组中;#NP_TEMP 是一个整型变量,主要是用来获取数据块的偏移地址,每次循环+=2是因为是16位,也就是两个字节,对应相应的偏移量;

#NP_TEMP := 0;
FOR #i := 0 TO #len DO"数据块_1".排序值[#i] := WORD_TO_INT(PEEK_WORD(area := b#16#84, dbNumber := 1, byteOffset := #NP_TEMP));#NP_TEMP := #NP_TEMP + 2;
END_FOR;

 

 这里再使用两个FOR循环,嵌套使用,对数组内的数值进行遍历,如果第一个大于第二个,就将第一个和第二个交换,然后以此类推;

 第2for循环中每次减J是因为循环过一次之后最大的一个已经找到并排在最后了,所以第2次循环只要循环8次就够了,相同的道理,再一次循环之后仅次于最大的数也找到了,所以这里才每次-J;

FOR #j := 0 TO #len-1 DOFOR #m := 0 TO #len - 1-#j  DOIF "数据块_1".排序值[#m] > "数据块_1".排序值[#m + 1] THEN#t := "数据块_1".排序值[#m];"数据块_1".排序值[#m] := "数据块_1".排序值[#m + 1];"数据块_1".排序值[#m + 1] := #t;END_IF;END_FOR;
END_FOR;

 效果:

 





总结

以上就是今天的所有内容啦!

相关内容

热门资讯

菩提一叶美文随笔 菩提一叶美文随笔  中岁颇好道,晚家南山陲。  兴来每独往,胜事空自知。  行到水穷处,坐看云起时。...
托班教师的教育随笔 托班教师的教育随笔  托班教师是如何教育孩子的呢?具体有哪些教育方式呢?下面是小编为大家整理的关于托...
中秋节的随笔 关于中秋节的随笔  在这个临至金色九月的转角处,月色伴随着桂花香携带中秋而至。下面就和小编一起来看一...
开学随笔 篇一:开学随笔明天就开学了,要努力了呀!寒假已经过了,纵然有太多的无奈,还是要跨进学校的大门.......
Unreal Engine 网... 目录 行为同步 On Server:服务端的RPC代码 On Client࿱...
STM32的CAN总线调试经验... 相关文章 文章目录相关文章背景CAN总线CAN控制器CAN收发器调试过程硬件排查CAN分析仪芯片CA...
01、线性表 01、线性表 1、线性表的逻辑结构 1、具有相同的数据类型的有限序列,n为表长...
友情没有愚人节 友情没有愚人节  导语:随笔,顾名思义:随笔一记,是散文的一个分支,是议论文的一个变体,兼有议论和抒...
描写风的随笔   夏天的风,像妈妈亲切的双手,包含着温情除去了尘世间的一切焦躁。下面是小编给大家带来的描写风的随笔...
帆软报表设计器 数据集之数据库... 当点击数据库查询时,调用TableDataTreePane的 public void ac...
幽梦影背景介绍与片段名句摘抄 幽梦影背景介绍与片段名句摘抄  《幽梦影》清代文学家张潮著的随笔体格言小品文集。张潮,字来山,号心斋...
心情随笔短篇摘抄   如是我闻,草木花深  轻捋三两草色入目,胜却烟柳繁华,偏爱小桥流水,人家三两户,倚着清风,嚼着京...
南京邮电大学数据库第三次课后作... 1.单选(2分) 下列关于模式的术语中,(C)不是指数据库三级模式结构中的外模式 (A...
测试入门知识概括   1.什么使软件测试   使用人工和自动手段来运行或测试某个系统的过程,其目的在于检...
运动会开幕式随笔作文 运动会开幕式随笔作文  今天虽然天气很冷,但我们学校举办的运动会开幕式却热火朝天……以下是“运动会开...
mybatis之二级缓存 安装 redis安装redis windows版。安装redis-desktop-manager-0...
三年级数学教学随笔 三年级数学教学随笔  数学教学必须注意从学生身边的生活情景和学生感兴趣的事物出发,为他们提供参与的机...
教育随笔:给孩子关注的目光 教育随笔:给孩子关注的目光  老师关注的目光是金钥匙,能打开孩子的心灵窗户;是泉水,能滋润孩子的心田...
阳光为题目的随笔写作 阳光为题目的随笔写作  阳光,一个多么熟悉的字眼。我们几乎天天看的到美丽的太阳,感受到温暖的阳光,也...
初识Tableau—(保姆级教... ❤前言我想吟诗一首:开个新专栏,一点也不难,Tableau...