Задача: Перестановка фрагментов строки(или одномерного массива)
Исходник: Перестановка фрагментов строки, язык: C# [code #70, hits: 7297]
автор: this [добавлен: 24.02.2006]
  1. public void StrSwap(ref String str, int a, int b, int m) {
  2. for (int i = 0; i < m; i++)
  3. {
  4. if (b + i >= str.Length) break;
  5.  
  6. Char tmp = str[a + i];
  7. this.ReplaceCharInString(ref str, a + i, str[b + i]);
  8. this.ReplaceCharInString(ref str, b + i, tmp);
  9. }
  10. }
В строке str меняет местами символы str[0..a+m-1] и str[0..b+m-1].
При этом отслеживается ситуация, когда на длина второго отрезка может превышать длинну всей строки.

this.ReplaceCharInString() - один из методов замены символа в строке
Тестировалось на: MS Visual Studio 2005, .NET Framework 2.0

+добавить реализацию