2013年12月5日木曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の11章(探索とソート)、11.7(練習問題)、11-2-a.をDartで解いてみる。

その他参考書籍

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 コメント:

コメントを投稿