作者yauhh (哟)
看板PLT
标题Re: [问题] Self的sorting
时间Sun Jan 2 03:24:04 2011
※ 引述《mark1357945 (浮梦)》之铭言:
: 我最近在大学的程式语言课程选了Self当作自己的主题语言
: 不过似乎这个语言还满冷门的 周遭的人很多都没听过
: 搜寻过也看了一些论文 但有关Self的sorting相关资料也不太多
: Smalltalk相关的却是找到了不少
: 可是第一次接触Prototype-based的OO语言 (之前只学了C++ 一、两年)
: 现在还没有把握能把Smalltalk的code直接看文法转译成Self的版本
: 有高手对这个语言熟悉可以推荐一些书本或参考资料适合入门
: 或是能讲解一下有关实作heap sort的吗?
Heap sort 好像跟 selection sort 差一点点. 那就先用 selection sort 讲讲看.
Self 语言还真难写,弄了好久不知道怎麽把正确的物件方法呼叫弄出来.
如果来做排序,由於语言特色在於框架结构,可能有二种处理法吧:
一种是在每个排序项目安排顺序值,改顺序. 另一种就是高段技巧,改框架结构罗.
框架大概要长这样子:
An Object
Item1
parent: traits An Object
key_: number
order_: number
state_: 'a'
Item2
parent: traits An Object
key_: number
order_: number
state_: 'a'
Item3
parent: traits An ...
...
greatest: (寻找所有 Item* 找出未排序的最大号码的 Item)
sort: (一定要弄个递回方法,用 greatest 把 Item* 逐次找出并排序)
print:
greatest: 每次挑出一个 Item* (state_ 为 'a') 就把 state_ 改成另一个值,
把 order_: 改成适合的顺序号码.
而且 print: 也是递回程式......
P.S. 名字取得很恰好,用 Self programming 查询 Google, 会找到一些
生涯规划的文章......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.113.218