HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0520
wait0000sleep sort4解決


wait0000

リンク

2011/5/20(Fri) 14:30:55|NO.39276

例のsleep sortを適当に作ってみました。
もっとスマートな方法を話し合いましょう。


// 0はソートできません! #runtime "hsp3cl" #const NUMBER 30 ;ソートする数字の数 #const TIMER_INTERVAL 10 ;タイマの間隔 dim data, NUMBER ;ソートするデータ dim interval, NUMBER tortalTime = 0 tempStr = "" foreach(data) data(cnt) = rnd(10) interval(cnt) = data(cnt) *TIMER_INTERVAL tortalTime += interval(cnt) tempStr += str( data(cnt) ) loop mes tempStr + "\n合計:" + tortalTime tempStr = "" // こっから本番 while(tortalTime > 0) foreach(interval) interval(cnt)-- if (interval(cnt) == 0) : tempStr += str( data(cnt) ) loop tortalTime-- wend mes tempStr stop



この記事に返信する


wass

リンク

2011/5/20(Fri) 22:57:26|NO.39288

sleepと並行処理を行わないとどう考えてもただのビンソートっぽい



wait0000

リンク

2011/5/20(Fri) 23:45:55|NO.39290

やっぱHSPじゃ無理なんですかね−。並行処理なんてできませんよね。

ウィンドウタイマを使ったバージョンも書いてみました

#include "user32.as" #const NUMBER 50 oncmd gosub *put, 0x113 dim data, NUMBER ;ソートするデータ tempStr = "" foreach(data) data(cnt) = rnd(10) SetTimer hwnd, 1+cnt, data(cnt) *100, 0 tempStr += str( data(cnt) ) loop mes tempStr tempStr = "" stop // こっから本番 *put tempStr += str( data(wparam -1) ) KillTimer hwnd, wparam if (strlen(tempStr) == NUMBER) :mes tempStr return



晩御飯

リンク

2011/5/26(Thu) 22:01:46|NO.39392




荒河

リンク

2011/7/18(Mon) 00:26:42|NO.40021

スリープソート吹いたw



ONION software Copyright 1997-2023(c) All rights reserved.