タグ

データ構造に関するatsushifxのブックマーク (3)

  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

    テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
  • Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール

    最近、Robert Love先生のを暇な時にダラーと読んでいたりするわけですが、それの中にLinux Kernel内部で使われているLinked Listの実装が書いてあって面白かったので共有。 まず、Linked Listの一個一個のエントリを表すstructを定義します。 struct list_head { struct list_head *next, *prev; }; いやいやいやいや。いかにC力の低い僕でも流石にこれはあきません。騙されませんよ。前後のエントリへのポインタは確かにあるけれども、これにはデータを指すためのポインタがないじゃないの。おじいちゃんまたデータ忘れてきちゃったの?いやあねえ。 おじいちゃんは言った。「それはお前の短見というものじゃ。このLinked Listは以下のコードのようにデータ構造に埋め込んで使うものなんじゃよ。」そしてそれは正しかった。 st

    Linux KernelのLinked Listの実装が面白い件 - 愛と勇気と缶ビール
    atsushifx
    atsushifx 2012/12/12
    C言語でオブジェクト指向なデータ構造を作りだした感じ
  • スクリプト言語REBOLがオープンソースに | OSDN Magazine

    プログラミング言語「REBOL」の設計者であるCarl Sassenrath氏は9月25日、REBOLをオープンソース化する計画を発表した。REBOLはAmigaOSの開発に携わったSassenrath氏が1997年に公開したインタプリタ型の言語で、プログラムだけでなくデータやデータ構造を表現できるのが特徴。 REBOLは、Relative Expression Based Object Languageの略で、大規模で複雑なソフトウェアとは思想を異にし、動的型付け、シンプルな文法、軽量なインタプリタ、インターネットプロトコル対応などの特徴を持つ。WindowsMac OS X、Linux、FreeBSDなどに対応する。 REBOLはSassenrath氏が創業、CTOを務める米REBOL Technologiesで開発が進められている。最新安定版はバージョン2.7.8で、2011年1月

    スクリプト言語REBOLがオープンソースに | OSDN Magazine
  • 1