如何在Forth中对整数数组进行原位排序?

公民范

我有一个100个元素的整数数组。假设它对array使用此定义

: array ( n "name" -- )
     create cells allot
     does> ( index -- addr ) swap cells + ;
100 array atod             \ Make an array with 100 cells
3 atod                     \ Return address of fourth element

现在,假设此atod数组已填充有从ATOD输入读取的100个整数值。在处理它之前,我想使用同一atod数组按值对整数进行永久排序也就是说,我不在乎原始顺序,我只是在乎它们是否已排序,并且我的内存很小,因此,我宁愿不定义任何其他变量或数组。

您如何排序?

编辑:根据@Julian Fondren修复了数组定义。

朱利安·丰登(Julian Fondren)

您对ARRAY的定义是错误的:

does> cells + ;

在DOES>处,数组的地址在堆栈的顶部,索引(例如3中的3 atod在堆栈的下面。因此,您的CELLS在该地址上进行操作,这是一个毫无意义的操作,然后将结果添加到3按照惯例,在DOES>堆栈图片中将忽略该地址,因为堆栈图片是供单词用户使用的。但是地址在那里。

正确地,

: array ( n "name" -- )
  create  cells allot
  does> ( index -- addr ) swap cells + ;

就像对任何东西进行排序一样,对它进行排序。确实,有整本分类操作的文献,所有这些都适用于Forth。所以快速排序插入排序BOGO排序,随便,你可以在第四做到这一点。

列出了一大堆排序示例

http://rosettacode.org/wiki/类别:Forth

Quicksort是一种符合您条件的破坏性(您不关心原始顺序)的就地(您不想分配额外的内存)排序。Rosetta Code在此处具有Forth实现:

http://rosettacode.org/wiki/Sorting_algorithms/Quicksort#Forth

(该代码使LESSTHAN像通常在其他语言中实现的快速排序实现一样受阻,但是Forth代码在更多地方可以假定其他语言通常具有的数据类型,因此推迟LESSTHAN不足以进行通用排序。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在ksh中对整数数组进行排序 Unix Shell脚本

来自分类Dev

对整数数组进行排序

来自分类Dev

对整数数组进行排序

来自分类Dev

如何使用默认排序功能在Golang中对整数数组进行排序

来自分类Dev

如何对大小可变的整数数组列表进行排序?

来自分类Dev

在值中对基于 HashMap 的整数数组进行排序

来自分类Dev

对整数数组的ArrayList进行排序

来自分类Dev

对1000个整数数组进行排序

来自分类Dev

如何在C ++中对有理数数组进行排序?

来自分类Dev

如何在数组中存储整数数组的引用

来自分类Dev

对负整数数组进行排序并找到一对较大的整数,而不管符号如何

来自分类Dev

排序整数数组

来自分类Dev

使用选择排序在Java中对整数数组进行排序。找不到我的错误

来自分类Dev

如何在Java中修剪整数数组?

来自分类Dev

如何在Laravel中验证整数数组

来自分类Dev

如何在Java中查找整数数组大小

来自分类Dev

如何在RFduino闪存中存储整数数组?

来自分类Dev

如何在整数数组中动态设置图像ID

来自分类Dev

对字符串数组和整数数组进行排序

来自分类Dev

在JavaScript中对天数数组进行排序

来自分类Dev

在javascript中对函数数组进行排序

来自分类Dev

如何在C中将字符串数组与整数数组并行排序?没有结构?

来自分类Dev

根据另一个整数数组对整数数组进行排序

来自分类Dev

如何对整数数组进行排序,同时又使相同的元素彼此分开?

来自分类Dev

如何按列对二维整数数组进行排序

来自分类Dev

对十进制和整数数组进行排序

来自分类Dev

严格按O(n)时间对整数数组进行排序

来自分类Dev

Javascript:围绕特定数字对整数数组进行排序

来自分类Dev

一种对整数数组进行排序的快速方法?

Related 相关文章

  1. 1

    如何在ksh中对整数数组进行排序 Unix Shell脚本

  2. 2

    对整数数组进行排序

  3. 3

    对整数数组进行排序

  4. 4

    如何使用默认排序功能在Golang中对整数数组进行排序

  5. 5

    如何对大小可变的整数数组列表进行排序?

  6. 6

    在值中对基于 HashMap 的整数数组进行排序

  7. 7

    对整数数组的ArrayList进行排序

  8. 8

    对1000个整数数组进行排序

  9. 9

    如何在C ++中对有理数数组进行排序?

  10. 10

    如何在数组中存储整数数组的引用

  11. 11

    对负整数数组进行排序并找到一对较大的整数,而不管符号如何

  12. 12

    排序整数数组

  13. 13

    使用选择排序在Java中对整数数组进行排序。找不到我的错误

  14. 14

    如何在Java中修剪整数数组?

  15. 15

    如何在Laravel中验证整数数组

  16. 16

    如何在Java中查找整数数组大小

  17. 17

    如何在RFduino闪存中存储整数数组?

  18. 18

    如何在整数数组中动态设置图像ID

  19. 19

    对字符串数组和整数数组进行排序

  20. 20

    在JavaScript中对天数数组进行排序

  21. 21

    在javascript中对函数数组进行排序

  22. 22

    如何在C中将字符串数组与整数数组并行排序?没有结构?

  23. 23

    根据另一个整数数组对整数数组进行排序

  24. 24

    如何对整数数组进行排序,同时又使相同的元素彼此分开?

  25. 25

    如何按列对二维整数数组进行排序

  26. 26

    对十进制和整数数组进行排序

  27. 27

    严格按O(n)时间对整数数组进行排序

  28. 28

    Javascript:围绕特定数字对整数数组进行排序

  29. 29

    一种对整数数组进行排序的快速方法?

热门标签

归档