C#, C♯, C#相談室 Part88at TECH
C#, C♯, C#相談室 Part88 - 暇つぶし2ch448:デフォルトの名無しさん
15/08/13 21:42:16.81 uEvY/8an.net
>>441
なるほど……こんなん書いてみたけど、これってありですか?
それとも自前の安定なソートメソッドを書きますか?
public static void StableSort<T>( this IList<T> list )
{
 var temp = list.OrderBy( t => t ).ToList();  // 既定の比較でソート
 for( int i = 0; i < list.Count; i++ )
 {
  list[i] = temp[i];
 }
}
その前はこんなん書いてみたてたけどw
public static void StableSort<T>( this IList<T> list )
{
 var wrapper = list.Select( ( t, i ) => new KeyValuePair<int, T>( i, t ) ).ToList();
 wrapper.Sort( ( p1, p2 ) =>
 {
  var result = Comparer<T>.Default.Compare( p1.Value, p2.Value );
  if( result == 0 )
  {
  result = p1.Key.CompareTo( p2.Key );
  }
  return result;
 } );
 for( int i = 0; i < list.Count; i++ )
 {
  list[i] = wrapper[i].Value;
 }
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch