Двухмерный массив. Пузырьковая сортировка строк

Пузырьковая сортировка — это самый простой способ сортировать данные. Пузырьковая сортировка массива, хранящего символьные строки, мало отличается от пузырьковой сортировки массивов, хранящих примитивные типы данных. Основное отличие — это то, что для сравнения символьных строк нельзя взять и просто использовать обычную операцию проверки на равенство. Поскольку строки более сложный тип, чем примитивный, то и сравнение строк происходит немного по-другому. Вообще для работы со строками нужно применять специальные функции.

Эта тема связана с темой:

Код пузырьковой сортировки массива символьных строк:

По коду можно легко увидеть, что для сравнения строк используется функция strcmp, а для перестановки ячеек вместо привычного знака присваивания используется функция strcpy, которая копирует одну строку в другую. Для временного хранения строки нужно задавать отдельную переменную, эту роль выполняет символьная строка temp.
Можно немного изменить этот код таким образом, чтобы ёмкость массива символьных строк можно было указывать в ходе работы программы:

Чтобы появилась возможность задавать ёмкость во время работы программы, мы стали использовать указатели, точнее массив указателей. Массив указателей выступает в роли массива строк, а сколько указателей, т. е. строк должен уметь хранить массив, мы смогли указывать в ходе работы программы.
При смешанном вводе (числовые значения — строковые значения) иногда необходимо игнорировать символ перевода строки, остающийся в потоке ввода после нажатия клавиши Enter, из-за этого после ввода числового значения, но перед вводом строкового значения был использован метод ignore, который вам может быть или непонятен, или плохо понятен. Этот метод используется, чтобы перескочить нажатую клавишу Enter. Вы можете убрать, посмотреть, что получится, если этот след от нажатия клавиши Enter остаётся.

5 комментариев на «“Двухмерный массив. Пузырьковая сортировка строк”»

  1. Sergio:

    Борланд ругается на 79 и 84 строчки:
    Temporary used for parameter ‘A’ in call to ‘funcprint(const double * * &, const int, const int)’

  2. Vova:

    Не работает!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/brayan-karper/programmirovanie-na-clojure-praktika-primeneniya-lisp-v-mire-java-10016554/?lfrom=15589587

Последние комментарии

Яндекс.Метрика