string array c implementation representation with examples
String Array в C ++ е масив от низове. В този урок ще разгледаме подробностите за представянето и внедряването на масиви от низове в C ++:
Виждали сме масиви в C ++ в по-ранните ни уроци. Масивите ни позволяват да декларираме елементи от данни от различни типове. Докато масивите на всички числови типове данни са идентични по отношение на операциите и изпълнението, а масивите с низов тип данни са различни.
най-добрата идея за python на mac
В C ++ низът може да бъде представен като масив от символи или като се използва клас низ, който се поддържа от C ++. Всеки низ или елемент от масив се прекратява от нулев символ. Представянето на низове с помощта на символен масив се взема директно от езика ‘C’, тъй като в C. няма тип низ.
=> Щракнете тук за безплатния курс C ++.
Какво ще научите:
Внедряване на масиви от низове
В C ++ низовете могат да бъдат представени по три начина.
- Използване на двумерни символни масиви: Това представяне използва двумерните масиви, където всеки елемент е пресечната точка на номер на ред и колона и представлява низ
- Използване на низова ключова дума: Също така можем да използваме ключовата дума string на C ++, за да декларираме и дефинираме масиви от низове.
- Използване на STL вектори: Можем да използваме STL вектори, където всеки елемент от вектор е низ.
Сега, нека да обсъдим всеки от горните методи и също да видим примерите за програмиране за всяко представяне.
Използване на двуизмерни символни масиви
Струнни масиви или масив от низове могат да бъдат представени чрез специална форма на двумерни масиви. В това представяне използваме двуизмерен масив от символи от тип, за да представим низ.
Първото измерение указва броя на елементите, т.е. низовете в този масив, а второто измерение определя максималната дължина на всеки елемент в масива.
Така че можем да използваме общо представяне, както е показано по-долу.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Например,разгледайте следната декларация:
char string_array(10) (20);
Горната декларация декларира масив от низове, наречен ‘string_array’, който има 10 елемента и дължината на всеки елемент е не повече от 20.
Можем да декларираме и инициализираме масив от животни, като използваме низове по следния начин:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Нека да видим пример за програмиране, използващ концепцията за двумерни масиви от символи, за да разберем по-добре концепцията.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Изход:

В горната програма декларирахме масив от низове, наречен strArray с размер 5 с максималната дължина на всеки елемент като 10. В програмата инициираме цикъл for, за да покажем всеки елемент от масива. Имайте предвид, че просто трябва да осъществим достъп до масива, използвайки първото измерение, за да покажем елемента.
Лесният достъп до елементи е едно от основните предимства на 2-D масивите. Те наистина са лесни за програмиране.
Основният недостатък на този тип представяне е както размерите на масива, т.е. броят на елементите и максималната дължина на елемента са фиксирани и не могат да бъдат променяни, както искаме.
На второ място, ние посочваме максималната дължина на всеки елемент като второ измерение по време на декларирането на масива. Ако дължината на низа е посочена като 100 и имаме всички елементи с по-малка дължина, тогава паметта се губи.
Използване на ключова дума низ
В това използваме ключовата дума ‘низ’ в C ++, за да декларираме масив от низове. За разлика от масивите от символи, тук имаме само 1D масив. Единствената величина определя броя на низовете в масива.
Общият синтаксис за декларация на масив от низове с помощта на ключовата дума string е даден по-долу:
string “array name” (“number of strings”);
Имайте предвид, че тук не посочваме максималната дължина на низа. Това означава, че няма ограничение за дължината на елементите на масива.
Като пример можем да декларираме масив от имена на цветове по следния начин.
string colors(5);
По-нататък можем да инициализираме този масив, както е показано по-долу:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
По-долу е дадена програма на C ++ за разбиране на ключовата дума string и нейното използване в масив от низове.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Изход:

Променихме предишната си програма за масив от символи и демонстрирахме използването на ключова дума string. Резултатът от програмата е същият, но начинът, по който се постига, е различен, тъй като ние дефинираме масив от низове, използвайки ключовата дума string.
Имайте предвид, че масивът от низове, използващ ключовата дума string, има предимство, при което нямаме ограничения за дължината на низовете в масива. Тъй като няма ограничение, не губим и място в паметта.
Недостатъкът е, че този масив има фиксиран размер. Трябва предварително да декларираме размера на масива.
Използване на STL вектори
Също така можем да използваме STL вектори за деклариране и дефиниране на динамични масиви. По този начин, за да дефинираме масив от низове, можем да имаме STL вектор от тип string.
най-добрият безплатен софтуер за възстановяване на данни windows 10
Тази декларация на масив от низове с помощта на вектор е показана по-долу:
vector “stringarray_Name”;
Позовавайки се на горната декларация, можем да декларираме вектор „субекти“ по следния начин:
vector mysubjects;
Имайте предвид, че можем да присвояваме елементи на вектора, като използваме метода “push_back” или всякакви други STL векторни методи.
По-долу е даден пример за програмиране, използващ C ++, за да демонстрира използването на STL вектора за представяне на масив от низове.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Изход:

В горната програма имаме STL вектор myNumbers от тип низ. След това добавяме елементи към този вектор, използвайки метода push_back и след това показваме всеки от елементите на вектора.
Ако видим цялата работа на STL вектора и масива от низове, виждаме, че в този случай нямаме ограничение за броя на елементите в масива или максималната дължина на всеки елемент. Виждаме, че масивът от низове, използващи вектори, е напълно динамичен и може да се намалява или увеличава динамично.
Как да избера представянето, което да използвам?
Сега, когато видяхме и трите представяния на масивни низове, можем да заключим, че от всичките три представления, векторното представяне е най-доброто, тъй като е динамично по своята същност.
Зависи от целта и изискванията на масива от низове. Когато имаме изискването да се нуждаем от масив от низове с фиксиран размер и знаем точните данни, които ще влязат в масив от низове, тогава можем да отидем за символен масив или низ.
Когато искаме низовият масив да расте или да се свива динамично, можем да прибегнем до векторно представяне, тъй като това ще ни помогне да разработим програми чрез динамична промяна на масива.
Заключение
Низовите масиви са специални масиви, имащи данни като низове. Това означава, че всеки елемент от масива е низ, завършен с нулев символ.
Обсъдихме подробно три представяния на низ масив, заедно с техните плюсове и минуси. В зависимост от нашите изисквания; можем да използваме всяко представяне на масива от низове, което отговаря на нашата реализация.
В следващите ни уроци ще продължим да изследваме подробно низовете на C ++ и функциите на C ++.
=> Прочетете серията Easy C ++ Training.
Препоръчително четене
- Урок за дължина на масив Java с примери за кодове
- Java String с String Buffer и String Builder Tutorial
- Инструкция за C # String - Методи за низове с примери за кодове
- Функции на низовете на Python
- C ++ масиви с примери
- Низове в C ++ с примери
- C # Случайно число и C # Генератор на произволни низове с примери за кодове
- Сортиране на купчини в C ++ с примери