<< | к задаче | главная | печатать | обсудить(0 сообщений) >>
Задача: Переворот символов строки (или элементов одномерного массива)
Исходник: Симметричное (зеркальное) отображение массива символов, без дополнительной переменной [C#, code #198, hits: 7121, рейтинг: 3/5,4.86(2418)] +
автор: - [добавлен: 07.07.2007] управление:
  1. static void Reverse(ref char[] array)
  2. {
  3. char t;
  4.  
  5. for (int i = 0; i <= Math.Floor((double)((array.Length - 1) / 2)); i++)
  6. {
  7. t = array[i];
  8. array[i] = array[array.Length - (1 + i)];
  9. array[array.Length - (1 + i)] = t;
  10. }
  11. }
Данный код использует традиционный способ замены символов строки, меняя первый и последний, второй и предпоследний символы в массиве из Char. Но стоит заметить что реализация для типа string будет отличатся т.к нулевым байтом типа string представлена длина строки. Для того чтобы заставить такой код работать с типом string придётся изменить просмотр переменной i с нуля на единицу. Данный код отличается от вышепредставленного тем, что не использует дополнительную переменную j. На достаточно современном AMD Athlon 64 3200+ данная операция производится менее чем за 1мс.

+добавить реализацию
 
каталог | задачи | паттерны | исходники | стат | форумы | карта сайта | контакты | ссылки 
© 2000-2018 CodeLAB Group
  Все права защищены
Страница сгенерирована за 0.004811 секунд
Количество запросов к БД: 9, gzip: 3.1kb/8.3kb(63%)