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:
Jadi kita boleh menggunakan mana-mana pendekatan di atas bergantung pada keperluan.
Diberikan di bawah adalah contoh Reverse String dalam C#:
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() ; } } }
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:
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(); } }
Dalam contoh di atas, kaedah ReverseString digunakan untuk mendapatkan nilai rentetan yang perlu diterbalikkan Array. Bahagian belakang digunakan untuk pengubahsuaian susunan aksara.
Output:
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(); } } }
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:
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 ; } } }
Output:
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 ; } } }
Dalam contoh di atas, for loop digunakan untuk membalikkan rentetan yang diberikan.
Output:
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() ; } } }
Output:
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!