При кодирането на низове обръщането на низове е ключова тема. Има и няколко метода за обръщане на низ, всеки от които има различна логика. Тази статия ще ви покаже как правилно да обърнете низ, за да използвате няколко различни подхода и разсъждения със и без да изисквате предварително зададени функции. Всеки път, когато обръщането на низова техника се прилага в конкретен уникален входен низ, текстът, който потребителят би предоставил в определен ред, ще бъде напълно обърнат. В примера по -долу са използвани различни алтернативи за обръщане на низ с C.
При прилагането на това ръководство работихме върху Ubuntu 20.04 Linux система, конфигурирана на Virtual Box. Докато работехме на Linux система, използвахме повечето от нашите инсталации и заявки в терминалната обвивка. Следователно, отворете обвивката на терминала чрез пряк път Ctrl+Alt+T или я потърсете през лентата за търсене на приложение в областта на активността на работния плот на Ubuntu. Необходимо е първо да актуализирате вашата система чрез apt update заявката. Той ще ви помоли за текущата потребителска парола за стартиране на актуализацията. Затова добавете парола и натиснете бутона Enter.
$ sudo apt актуализация
Тъй като използвахме езика за програмиране C за разработване на концепцията за обръщане на низове в системата Ubuntu 20.04, човек трябва да има инсталиран C компилатор на тяхната система Ubuntu. Затова не забравяйте да инсталирате GCC компилатора във вашата система чрез заявката по -долу.
$ sudo apt install gcc
Пример 01: Използване на For Loop
След инсталирането и конфигурирането на GCC компилатора и актуализирането на apt пакета, той се обръща към създаване на нов файл. Този файл трябва да бъде от тип C; затова използвайте командата touch, за да създадете файл new.c, както е показано по -долу. Този файл ще се използва в нашия код отсега нататък по време на изпълнението на програми за обратен низ.
$ докоснете ново.° С
Сега можете да отворите този файл за редактиране или кодиране от Nano редактор, който е вграден във вашата система Ubuntu 20.04 Linux. Затова опитайте инструкциите по -долу във вашата черупка, за да направите това.
$ nano нов.° С
Новосъздаденият файл от тип C нов е отворен в GNU Nano Editor на системата Ubuntu 20.04. Трябва да напишете C скрипт в него, както е представено на снимката на екрана по -долу. Нека разгледаме по -подробно този код за по -добро разбиране. В началото на код сме включили две библиотеки. Библиотеката stdio.h е използвана за приемане на входове и показване на изходите, а другата библиотека string.h е използвана за използване на всякакви низове в нашия код. Цялата работа по обръщане на низ ще бъде извършена в метода main () на C код. Ние сме декларирали низ от символен тип str с размер 50. Това означава, че низ с повече от 50 знака не може да се забавлява в този код. След това декларирахме две целочислени променливи. Променливата l е използвана за събиране на дължината на низа str и променливата I ще се използва като инициализатор в for цикъл. След това използвахме оператор printf, за да отпечатаме текст върху въведения низ на обвивката, като казваме на потребителя да добави стойност към променлива от низ. Методът scanf () е използван за въвеждане на потребителя по време на изпълнение и запазване на тази стойност в низ от str. Функцията strlen () е използвана за проверка на дължината на низ от низове, добавена от потребител по време на изпълнение, и запазването й в променлива l ’. След това инициализирахме цикъл for, за да обърнем низа str. Можете да видите, че инициализаторът I 'взема стойността от променлива l, за да обърне посоката на низ. След това той отпечатва символите на низ str 'едно по едно обръщане. В последната основният метод е прекратен. Запазете този файл с помощта на Ctrl+S и го затворете чрез Ctrl+X.
Сега е време да компилирате кода и да проверите за изхода му. Следователно компилацията е извършена чрез посочената по-долу gcc заявка с името на файл new.c.
$ gcc нов.° СТъй като компилацията става успешна, това означава, че няма грешка в нашия код. Нека изпълним нашия файл чрез a.out заявка в черупката, както следва:
$./да се.навънПроцесът на изпълнение ще поиска от потребителя да добави низ. Добавихме I-Am-Aqsa-Yasin и натиснахме Enter. Можете да видите, че връща обратната страна на низ на следния ред.
Пример 02: Използване на замяна
В този пример ще използваме метода на замяна, за да обърнем реда на низ. Следователно отворете файла new.c отново с помощта на nano редактора, както следва:
$ nano нов.° С
Сега файлът е отворен в GNU nano редактора; трябва да актуализираме кодовия файл с показания по-долу скрипт на екранната снимка. Ние първо включихме стандартния входен и изходен заглавен файл в нашия код, използвайки ключова дума #include. Дефинирахме метод Reverse () според използването на техниката за замяна. Инициализирахме три променливи тип integer new, I и swap. Първият цикъл for се използва за проверка дали низът s е празен или не. Следващият цикъл for се използва за итерация, а в неговото тяло сме разменили стойностите, използвайки нови и swap променливи. Заслужава да се отбележи, че обръщането на низ с дължина n отнема само n/2 кръга. След като низовете са разменени, ще трябва да повторите цикъла, за да покажете обърнатия низ, което правим в нашето приложение, използвайки трети цикъл for. Функцията Reverse () трябва да бъде извикана от вътрешната основна програма. Посочихте какво изпълнява вашият софтуер с printf в контекста на main (). След това използвахте scanf (), за да получите потребителско въвеждане и извикате метода Reverse (). Сега запишете файла отново с помощта на Ctrl+S и напуснете редактора на nano чрез клавишната комбинация Ctrl+X и се върнете към терминалната обвивка.
Компилирайте кода първо чрез gcc заявка, както е показано по -долу.
$ gcc нов.° ССега изпълнете кодовия файл, използвайки същата инструкция ./a.out.
$./да се.навънТой ще ви помоли да въведете стойността на низа. Добавихме AqsaYasin и получихме обратната страна.
Пример 03: Използване на рекурсия
В този пример ще използваме рекурсия, за да обърнем низ, добавен от потребител. Затова отворете файла отново.
$ nano нов.° С
Тази програма отпечатва Въведете изречение: След това се използва метод Reverse (). Първоначалната буква, въведена от потребител, се записва в c чрез този метод. Reverse () се изпълнява отново, ако аргументът е нещо различно от n (нов ред). Тази процедура продължава, докато потребителят не натисне клавиша Enter. Всеки път, когато потребителят натисне enter, методът Reverse () отпечатва текста в обратен ред. Запишете и затворете файла.
Първо компилирайте кода и след това го изпълнете, като използвате предишните команди, както следва:
$ gcc нов.° С$./да се.навън
Можете да видите, че приема въвеждане от потребител като цяло изречение от низ и след това обърнете реда на това изречение.
Заключение:
И накрая, направихме три примера за разработване на обръщане на въвеждане на низ от различни методи, например използване на цикъл for, използване на рекурсия и използване на swap.