That is right; I was about to send: (/:~@(, [EMAIL PROTECTED]) , [EMAIL PROTECTED])/^:_ NB. Cheatting (although /: only applies to two items instead of many) (|.^:>/@(, [EMAIL PROTECTED]) , [EMAIL PROTECTED])/^:_ NB. Without cheatting
----- Original Message ---- From: Oleg Kobchenko <[EMAIL PROTECTED]> To: Programming forum <[email protected]> Sent: Monday, April 28, 2008 12:18:25 PM Subject: Re: [Jprogramming] Bubble sort --- On Mon, 4/28/08, Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > I wanted to model bubble sort. > Here's a first shot. Any improvements? > > ]C=. 10 [EMAIL PROTECTED] 10 > 6 5 9 2 4 9 0 7 0 4 > /:~ C > 0 0 2 4 4 5 6 7 9 9 > <./ C > 0 > (([ ,`(,~)@.> [EMAIL PROTECTED]) , [EMAIL PROTECTED])/ C > 0 6 5 9 2 4 9 0 7 4 > (([ ,`(,~)@.> [EMAIL PROTECTED]) , [EMAIL PROTECTED])/^:_ C > 0 0 2 4 4 5 6 7 9 9 --- On Mon, 4/28/08, Raul Miller <[EMAIL PROTECTED]> wrote: > I do not know if this is an "improvement" but here > is another approach; > repair=: ] C.~ _2 (([EMAIL PROTECTED]: /:~)\ # (<\ [EMAIL PROTECTED])) ] > bubsort=: repair @ ({. , [EMAIL PROTECTED])^:_ > bubsort C > 0 0 2 4 4 5 6 7 9 9 > > Actually, I am not totally sure if this counts as bubble > sort -- it's the same basic principle but slightly more > parallel. /:~ shouldn't be in a "sort" algorithm. Let's see. bi=: <\ [EMAIL PROTECTED] NB. boxed indecies uno=: [EMAIL PROTECTED]: /:~ NB. un-ordered _2 (uno\ # bi) C +---+---+ |0 1|2 3| +---+---+ C C.~ _2 (uno\ # bi) C 5 6 2 9 4 9 0 7 0 4 C 6 5 9 2 4 9 0 7 0 4 Isn't "uno" just "greater than"? bi=: <\ [EMAIL PROTECTED] NB. boxed indecies gt=: >/ NB. greater than _2 (gt\ # bi) C +---+---+ |0 1|2 3| +---+---+ C C.~ _2 (gt\ # bi) C 5 6 2 9 4 9 0 7 0 4 repair=: C.~ _2&(gt\ # bi) repair C 5 6 2 9 4 9 0 7 0 4 Another shot at "repair" is flip as we go fig=: |.^:(>/) NB. flip if greater ;_2 <@fig\ C 5 6 2 9 4 9 0 7 0 4 ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
