開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
初めてのコンピュータサイエンス(Jennifer Campbell、Paul Gries、Jason Montojo、Greg Wilson(著)長尾 高弘(翻訳))の11章(探索とソート)、11.7(練習問題)、11-2-a.をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
11.7(練習問題)、11-2-a.
コード
sample.dart
import 'dart:html'; void main() { InputElement run = querySelector('#run_dart'); InputElement clear = querySelector('#clear'); Element pre = querySelector('#pre0'); run.onClick.listen((MouseEvent event){ pre.text = '${window.navigator.userAgent}\n'; List<num> selectionSort(List<num> sequence){ List<num> result = sequence.toList(); int i = 0; pre.text += '$i: $result\n'; while(i != result.length){ int smallest = findMin(result, i); num temp = result[i]; result[i] = result[smallest]; result[smallest] = temp; i += 1; pre.text += '$i: $result\n'; } return result; } List<num> sequence = [6,5,4,3,7,1,2]; List<num> sorted = selectionSort(sequence); pre.text += 'ソート前: $sequence\nソート後: $sorted\n'; }); clear.onClick.listen((MouseEvent event) => pre.text = ''); } num findMin(List<num> sequence, int b){ int smallest = b; int i = b + 1; while (i != sequence.length){ if (sequence[i] < sequence[smallest]){ smallest = i; } i += 1; } return smallest; }
0 コメント:
コメントを投稿