作者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