Rumah > pembangunan bahagian belakang > Tutorial C#.Net > Rentetan Terbalik dalam C#

Rentetan Terbalik dalam C#

PHPz
Lepaskan: 2024-09-03 15:35:25
asal
953 orang telah melayarinya

Sebalik digunakan untuk menterbalikkan rentetan atau nombor dari belakang ke hadapan seperti untuk rentetan educba rentetan terbalik ialah abcude. Untuk nombor 9436 terbalik ialah 6349. Dengan bantuan rentetan terbalik, kita boleh membalikkan sebarang rentetan. Kita boleh melaksanakan kaedah ini dalam pelbagai cara. Setiap kaedah mempunyai log(n). Sesetengah kaedah lebih pantas daripada kaedah lain.

Sesetengah kaedah menggunakan lebih banyak baris kod dan bersifat kompleks yang kadangkala sukar difahami. Kita juga boleh membalikkan nombor.

Kaedah

Berikut adalah beberapa kaedah dengan menggunakannya, kita boleh membalikkan rentetan:

  • Menggunakan kaedah ReverseString.
  • Menggunakan kaedah ToCharArray.
  • Pendekatan Secara Program: Dengan menggunakan pendekatan ini mula-mula kita akan menyimpan rentetan dalam mana-mana pembolehubah dan kemudian mengira panjang pembolehubah atau rentetan itu. Kemudian kami memilih satu aksara pada satu masa dan boleh mencetak dari bermula dari bahagian belakang atau bahagian belakang. Sebelum menggunakan kaedah ini, kita harus memastikan pendekatan ini tidak menjejaskan prestasi program.

Jadi kita boleh menggunakan mana-mana pendekatan di atas bergantung pada keperluan.

Contoh Rentetan Terbalik dalam C#

Diberikan di bawah adalah contoh Reverse String dalam C#:

Contoh #1

Kod:

using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace ReverseString
{
class Program
{
static void Main(string[] args)
{
string Str, rev;
Str = "Programming" ;
rev = "";
Console.WriteLine("Value of given String is: {0}", Str) ;
// find string length
int a;
a = Str.Length - 1 ;
while (a >= 0)
{
rev = rev + Str[a] ;
a--;
}
Console.WriteLine("Reversed string is: {0}", rev) ;
Console.ReadLine() ;
}
}
}
Salin selepas log masuk

Dalam atur cara di atas, Str digunakan sebagai pembolehubah untuk menyimpan nilai rentetan. Manakala gelung digunakan untuk membalikkan rentetan dan logik di belakang adalah untuk menukar kedudukan aksara satu persatu dari kanan ke kiri.
Output:

Rentetan Terbalik dalam C#

Contoh #2

Kod:

using System ;
using System.Collections.Generic;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
static class StringHelper
{
public static string ReverseString(string str)
{
char[] array = str.ToCharArray() ;
Array.Reverse(array) ;
return new string(array) ;
}
}
class Program
{
static void Main()
{
Console.WriteLine(StringHelper.ReverseString("This")) ;
Console.WriteLine(StringHelper.ReverseString("is")) ;
Console.WriteLine(StringHelper.ReverseString("C#")) ;
Console.WriteLine(StringHelper.ReverseString("programming")) ;
Console.ReadLine();
}
}
Salin selepas log masuk

Dalam contoh di atas, kaedah ReverseString digunakan untuk mendapatkan nilai rentetan yang perlu diterbalikkan Array. Bahagian belakang digunakan untuk pengubahsuaian susunan aksara.

Output:

Rentetan Terbalik dalam C#

Contoh #3

Kod:

using System;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace reverseString
{
class Program
{
static void Main(string[] args)
{
string s = "", rev = "" ;
int len = 0 ;
Console.WriteLine("Enter a string") ;
s = Console.ReadLine();
len = s.Length - 1;
while (len >= 0)
{
rev = rev + s[len] ;
len--;
}
Console.WriteLine("Reverse of string is {0}", rev) ;
Console.ReadLine();
}
}
}
Salin selepas log masuk

Dalam program di atas, kami mengambil input daripada pengguna untuk membalikkan rentetan. Pembolehubah digunakan untuk menyimpan nilai rentetan. Manakala gelung digunakan untuk membalikkan rentetan dan logik di belakang adalah untuk menukar kedudukan aksara satu persatu dari kanan ke kiri.

Output:

Rentetan Terbalik dalam C#

Contoh #4

Kod:

using System;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace reverseString
{
class Program
{
static void Main(string[] args)
{
string s;
Console.Write(" Enter the string : ") ;
s = Console.ReadLine();
s = StringReverse(s);
Console.Write(" Reverse is : ") ;
Console.Write(s) ;
Console.ReadLine() ;
}
public static string StringReverse(string s)
{
if (s.Length > 0)
return s[s.Length - 1] + StringReverse(s.Substring(0, s.Length - 1)) ;
else
return s ;
}
}
}
Salin selepas log masuk

Output:

Rentetan Terbalik dalam C#

Contoh #5

Kod:

using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace reverseString
{
class Program
{
public static void Main()
{
Console.WriteLine(reverse("Hello")) ;
Console.ReadLine();
}
public static string reverse(string s)
{
string reverseStr = "" ;
for (int a = s.Length - 1; a >= 0; a--)
{
reverseStr = reverseStr + s[a] ;
}
return reverseStr ;
}
}
}
Salin selepas log masuk

Dalam contoh di atas, for loop digunakan untuk membalikkan rentetan yang diberikan.

Output:

Rentetan Terbalik dalam C#

Contoh #6

Kod:

using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace reverseString
{
class Program
{
public static void Main()
{
string s;
Console.WriteLine("The value of given string is ") ;
s = Console.ReadLine() ;
char[] array = s.ToCharArray() ;
Array.Reverse(array);
Console.WriteLine(new String(array)) ;
Console.ReadLine() ;
}
}
}
Salin selepas log masuk

Output:

Rentetan Terbalik dalam C#

Kesimpulan

Jadi kita boleh membalikkan mana-mana rentetan atau nombor yang diberikan dengan menggunakan bilangan pendekatan. Tetapi kita harus memastikan bahawa pilihan kita seharusnya tidak menjejaskan prestasi kerana setiap kaedah mempunyai kerumitan masanya sendiri.

Atas ialah kandungan terperinci Rentetan Terbalik dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan