[C#] 文字列を逆順に反転して並べ替える方法
文字列を逆順に反転して並べ替える方法 C#, VB.NET で文字列を逆順に反転させる方法をまとめます。 まず、Linq で Reverse() というコレクションを逆順にするメソッドがあります。これを文字列に対して使うことで逆順の IEnumerable<char> が得られます。 逆順のデータが得られたらあとはそれを文字列にするだけです。 得られたデータを配列にしてから new s […]
Web備忘録 プログラミングを中心に技術的な事柄を忘れないように書き残します。
文字列を逆順に反転して並べ替える方法 C#, VB.NET で文字列を逆順に反転させる方法をまとめます。 まず、Linq で Reverse() というコレクションを逆順にするメソッドがあります。これを文字列に対して使うことで逆順の IEnumerable<char> が得られます。 逆順のデータが得られたらあとはそれを文字列にするだけです。 得られたデータを配列にしてから new s […]
挿入ソート 挿入ソートを C#, VB.NET で実装してみます。 挿入ソートは、時間計算量 O(n^2) でバブルソートや選択ソートと同じく高速なソートアルゴリズムとは言えません。ただし、挿入ソートについて言えばある面で有用なソートアルゴリズムです。 挿入ソートは要素数の少ないデータに対して、効率よくソートするアルゴリズムです。 クイックソートなど高速なソートアルゴリズムについては、処理のオーバ […]
二分探索(バイナリサーチ)とは 二分探索 – Wikipedia 二分探索(にぶんたんさく、英: binary search、BS)やバイナリサーチとは、ソート済み配列に対する探索アルゴリズムの一つ。 要素数nの配列に対して線形探索する場合(先頭から順番に探す方法)は、時間計算量が O(n) となります。それに対して二分探索(バイナリサーチ)は O(log n) と高速に動作します。た […]
優先度付きキュー(PriorityQueue) 優先度付きキュー(Priority Queue)は、優先度に従って優先的に要素を取り出せるコレクションです。 単純なキューだと先入れ先出し(FIFO)ですが、取り出すときに優先度の高い要素(例えば値の大きいもの)から順番に取り出せるというキューになります。例えば普通のキューだと 3, 5, 1 の順に入れるとその順番に取り出せますが、これを優先度に従 […]
プロセスを起動する 実行中の .NET アプリから別プロセス(アプリ)を起動するには Process.Start() を使います。 以下メモ帳を起動する例です。using System.Diagnostics; で名前空間を追加しておいてください。 C# // using System.Diagnostics; // メモ帳起動 Process.Start("notepad") […]
フォルダに関連付けられたソフトで開く方法 Process.Start() は指定したパスのアプリを実行します。フォルダは通常エクスプローラーが関連づけられています。 したがってフォルダを指定するとエクスプローラーでそのフォルダを開いてくれます。 C# // using System.Diagnostics; Process.Start(@"C:\work"); VB.NET Process.Sta […]
C#(VB.NET) でフォルダを中身ごとコピーしたい .NET では中身の入ったフォルダのコピーは用意されていません。したがって自分で作ってやる必要があります。 以下実装です。 C /// <summary> /// ディレクトリの中身をコピーする /// </summary> /// <param name="sourcePath">コピー元パス</p […]
C#, VB.NET で指定ディレクトリ、ファイルの変更を監視する方法 指定したパスのディレクトリやファイルを監視し、何かしらの変更があったタイミングで処理を実行するというようなことをC#, VB.NETで実現するには、System.IO.FileSystemWatcher クラスを使います。 イベントの種類 FileSystemWatcher では、指定したPathのファイルまたはディレクトリに […]
ブロックソートとは ブロックソート – Wikipedia ブロックソートとはデータの可逆変換アルゴリズムの一種です。ソートとついていますが、データのソートを効率よくするため ソートアルゴリズムではありません 。また、データの圧縮アルゴリズムでもありません。Wikipediaには次のようにあります。 ブロックソート、ブロックソーティング、Burrows-Wheeler変換 (Burro […]
Directory.Deleteで削除されない .NETには ディレクトリを削除する Directory.Deleteメソッドがあります。このメソッドの挙動で戸惑った点があったのでメモ代わりに書き残します。 やりたかったこと まず第一にやりたかったことは、「ディレクトリ内のファイルをすべて削除する」ということです。ここで私は面倒くさいので「ディレクトリごと消して、そのあとディレクトリを作成する」と […]