Обрнути низ у Ц++

Obrnuti Niz U C



У многим сценаријима Ц++ програмирања, можда ће бити потребно да се стринг обрне. Обрнути низ укључује промену редоследа знакова у низу и постављање у обрнутом редоследу или би то могло бити само штампање низа уназад. Све што је потребно да се стринг преокрене је да се његов завршни елемент помери на почетно место стринга и тако даље. У неким ситуацијама може бити потребно да се стринг на његовој адреси трајно врати. Ц++ пружа различите методе за преокретање стринга.

Технике преокретања стринга у Ц++ програмирању

У зависности од спецификација кода које развијамо, постоји неколико техника за имплементацију преокретања стрингова у Ц++ програмирању. Ове технике су:

  • Коришћење методе „реверсе()“.
  • Коришћење методе „стррев()“.
  • Коришћење „фор“ петље
  • Коришћење „вхиле“ петље
  • Коришћење конструктора

Пример 1:

Прво, увозимо три различите датотеке заглавља које су „алгоритам“, „иостреам“ и „стринг“. Морамо укључити ове датотеке заглавља како бисмо користили функције које су у њима дефинисане. Датотека заглавља „алгоритам“ укључује бројне уграђене функције за проналажење, сортирање, бројање, модификовање, итд. које су нам доступне.







Затим, „иостреам“ обезбеђује функције за унос или излаз података, а датотека заглавља „стринг“ је укључена јер пружа функције потребне за рад са подацима стринга. Испод ових датотека заглавља додајемо „стд“ именски простор. Овде позивамо функцију „маин()“.



Затим постављамо тип података „стринг“ и иницијализујемо „оригиналСтр“ овде са неким подацима стринга. Затим штампамо тај низ. Након овога, користимо методу „реверсе()“ која помаже у преокрету низа. У овој методи „реверсе()“ додајемо „бегин()“ и „енд()“ заједно са променљивом „оригиналСтр“. Сада такође штампамо овај обрнути стринг који добијамо након примене методе „реверсе()“.



Код 1:





#инцлуде <алгоритам>
#инцлуде<иостреам>
#инцлуде<стринг>
Користећи именског простора стд ;
инт главни ( )
{
стринг оригиналСтр = „Обрнути низ у Ц++ програмирању“ ;
цоут << 'Оригинални низ!' << ендл ;
цоут << оригиналСтр << ендл << ендл ;
обрнуто ( оригиналСтр. започети ( ) , оригиналСтр. крај ( ) ) ;
цоут << 'Обрнути низ!' << ендл ;
цоут << оригиналСтр ;
повратак 0 ;
}

Излаз:
Обрнути стринг који добијамо након примене методе „реверсе()“ у нашем коду сада се приказује заједно са оригиналним стрингом.



Пример 2:

Прво укључујемо датотеке заглавља, а затим постављамо „простор имена стд“. Затим, у методи „маин()“, ми иницијализујемо низ знакова тако што стављамо тип података „цхар“ са именом променљиве „Орг_стр“ и овде уписујемо стринг који желимо да вратимо. Затим, приказујемо овај „Орг_стр“ уз помоћ „цоут“.

Испод овога користимо методу „стррев()“ да преокренемо стринг и проследимо „Орг_стр“ као параметар у овој функцији. Сада је низ овде обрнут. После овога, такође рендерујемо обрнути низ уз помоћ „цоут“.

Код 2:

#инцлуде<иостреам>
#инцлуде<цстринг>
Користећи именског простора стд ;
инт главни ( )
{
цхар Орг_стр [ ] = „Програм за обрнути низ“ ;
цоут << Орг_стр << ендл << ендл ;
стррев ( Орг_стр ) ;
цоут << 'обрнути низ' << ендл ;
цоут << Орг_стр ;
повратак 0 ;
}

Излаз:
Овде се приказују оригинални и обрнути низови које смо добили коришћењем методе „стррев()“ у нашем коду.

Пример 3:

У овом случају, датотеке заглавља су укључене пре него што се дода „намеспаце стд“. Затим се позива „маин()“ и променљива стринг се додаје са именом „миОргСтр“ и иницијализује са подацима стринга.

Након овога, такође декларишемо променљиву „инт“ „а“ и приказујемо стринг „миОргСтр“ користећи „цоут“. Испод овога користимо петљу „фор“ где иницијализујемо променљиву „а“ са „миОргСтр.ленгтх() – 1“, а затим постављамо услов који је „а >= 0“ и смањујемо га на вредност „а ”. Ово преокреће наш стринг и чува га у „миОргСтр[а]“ и такође га приказује док постављамо „миОргСтр[а]“ унутар „цоут“.

Код 3:

#инцлуде<иостреам>
#инцлуде<стринг>
Користећи именског простора стд ;
инт главни ( )
{
стринг миОргСтр = 'Здраво Свете!' ;
инт а ;
цоут << миОргСтр << ендл << ендл ;
цоут << 'обрнути низ' <= 0 ; а -- )
{
цоут << миОргСтр [ а ] ;
}
повратак 0 ;
}

Излаз:
Ово приказује и оригиналне и обрнуте стрингове које смо добили преко нашег кода користећи методу „фор“ петље.

Пример 4:

Овде увозимо датотеку заглавља „битс/стдц++.х“ тако да не морамо да увозимо друге датотеке заглавља пошто ова датотека заглавља садржи све дефиниције функције. Затим укуцамо „намеспаце стд“. Овде креирамо функцију са именом „Рев()“ у којој прослеђујемо „стринг& миСтринг“ као аргумент ове функције. Овде креирамо ову функцију да преокренемо низ.

У ову функцију постављамо променљиву „С_лен“ типа података „инт“ и иницијализујемо је са функцијом „ленгтх()“ тако што стављамо „миСтринг“ са овим. Затим имамо другу променљиву која је „не” типа „инт” и иницијализујемо је са „С_лен-1”.

Испод тога се иницијализује још једна променљива која се зове „а“ типа података „инт“. Овде користимо петљу „вхиле()“ и додајемо „а <= не“ као услов. Затим користимо методу „свап()“. Овај метод „свап()“ помаже у размени података низа, а затим иницијализује „не“ са „не -1“. Такође иницијализујемо „а“ са „а+1“.

Затим овде позивамо „маин()“ у коме иницијализујемо променљиву „миСтринг“ са подацима стринга и штампамо тај стринг. Након овога, позивамо функцију „Рев()“ коју смо креирали у овом коду и стављамо „миСтринг“ као параметар ове функције која преокреће стринг, а затим приказује обрнути низ.

Код 4:

#инцлуде <битс/стдц++.х>
Користећи именског простора стд ;
празнина Рев ( низ & миСтринг )
{
инт С_лен = миСтринг. дужина ( ) ;
инт Не = С_лен - 1 ;
инт а = 0 ;
док ( а <= Не ) {
свап ( миСтринг [ а ] ,миСтринг [ Не ] ) ;
Не = Не - 1 ;
а = а + 1 ;
}

}
инт главни ( )
{
стринг миСтринг = 'Волим програмирање' ;
цоут << миСтринг << ендл ;
цоут << ' обрнути низ' << ендл ;
Рев ( миСтринг ) ;
цоут << миСтринг ;
повратак 0 ;
}

Излаз:
Овде представљамо и оригинални стринг и обрнути стринг који смо добили коришћењем петље „вхиле()“ и методе „свап()“ унутар функције коју смо креирали у нашем коду.

Пример 5:

Увозимо датотеку заглавља “битс/стдц++.х” са свим дефиницијама функција. Стога, не морамо да увозимо друге датотеке заглавља. Затим уносимо „намеспаце стд“ и позивамо „маин()“ овде. Затим имамо променљиву „подаци“ типа података „стринг“ и иницијализујемо је низом који желимо да вратимо.

Ми приказујемо овај оригинални стринг пре него што га преокренемо тако што ћемо променљиву „дата“ ставити у „цоут“. Испод тога, ми иницијализујемо другу променљиву која је „ревСтр“ истог типа података „стринг“. Затим користимо „рбегин()“ и „ренд()“ који су обрнути итератори које додајемо за преокретање стринга овде. Обрнути низ је сада сачуван у променљивој „ревСтр“ која је смештена у „цоут“ да би овде штампала обрнути низ.

Код 5:

#инцлуде
Користећи именског простора стд ;
инт главни ( )
{
низ података = „Ц++ је најбољи програмски језик“ ;
цоут << података << ендл << ендл ;
стринг ревСтр = низ ( података. рбегин ( ) , подаци. чини ( ) ) ;

цоут << ревСтр << ендл ;
повратак 0 ;
}

Излаз:
Низ који смо додали у код се прво приказује овде. Затим, обрнути низ који смо добили коришћењем обрнутих итератора је приказан у следећем:

Закључак

Концепт „обрнуте низове“ у Ц++ програмирању је разматран у овом чланку где смо истражили више техника за преокретање стринга. Детаљно смо истражили све методе које помажу у преокрету стринга у Ц++ и обрнули стринг у нашим Ц++ кодовима. У овом чланку смо показали оригиналне и обрнуте стрингове у нашим кодовима.