Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Isih Buih dalam C#
Artikel berikut menyediakan garis besar tentang Bubble Sort dalam C#. Isih buih ialah algoritma pengisihan yang dianggap sebagai algoritma paling mudah, yang meletakkan elemen atau nombor dalam susunan tertentu dan elemen ini akhirnya diletakkan di lokasi yang betul disusun dalam tatasusunan.
Konsep asas di mana isihan gelembung berfungsi ialah tatasusunan diambil kira. Tatasusunan ini diulang dari indeks pertama hingga indeks terakhir. Semasa melintasi tatasusunan dibandingkan dengan elemen bersebelahan dan ditukar jika ia hadir dalam susunan yang salah. Ini bermakna jika nombor lebih kecil daripada elemen semasa pada indeks tertentu maka ia akan ditukar. Proses ini diulang sehingga tatasusunan diisih sepenuhnya. Ia berlaku dalam bentuk hantaran.
Mari kita mempertimbangkan tatasusunan tujuh nombor rawak dan menyusunnya:
Isih gelembung berfungsi dalam bentuk hantaran. Pas ini mengambil dua nombor bersebelahan pada satu masa dan kemudian membandingkan dua nombor tersebut. Jika nombor yang hadir dikatakan N. Maka bilangan pas yang diperlukan untuk mengisih set data ialah N – 1. Setiap pas mengisih data dengan mengambil kira dua nombor tersebut dan mengulangi urutan sehingga semua nombor tidak diisih mengikut cara yang diharapkan.
Lulus 1:
90 76 45 93 68 13 98
Dalam hantaran pertama dua nombor pertama dibandingkan. Di sini ia akan membandingkan 90 dengan 76. 90 lebih besar daripada 76 maka ia akan ditukar.
76 90 45 93 68 13 98
Kini 90 akan dibandingkan dengan 45. (0 lebih besar daripada 45 juga. Oleh itu, ini akan ditukar dengan 45.
76 45 90 93 68 13 98
Kini, nombor 90 dan 93 sudah tersusun. Mereka tidak akan ditukar dan akan kekal seperti sedia ada. Pas ini akan dihentikan mengikut algoritma.
Lulus 2:
76 45 90 93 68 13 98
Pas ini sekali lagi akan bermula dengan nombor pertama dalam tatasusunan. Ini bermakna pengisihan kini akan bermula daripada 76. 76 akan dibandingkan dengan 45. 45 yang kurang daripada 76 akan ditukar dengan 76.
45 76 90 93 68 13 98
Kini 76 dan 90 akan diperiksa. Mereka sudah berada dalam susunan yang betul oleh itu tidak akan ada perubahan dalam tatasusunan.
Dengan cara ini traversing akan berlaku sehingga penghujung tatasusunan.
Diberikan di bawah adalah contoh:
Program C# untuk melaksanakan isihan Buih.
Kod:
using System; class Bubble { static void bubbleSrt(int []arr) { int num = arr.Length; for (int i = 0; i < num - 1; i++) for (int j = 0; j < num - i - 1; j++) if (arr[j] > arr[j + 1]) { // swap tmp and arr[i] int tmp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = tmp; } } /* Printing the array */ static void printIt(int []arr) { int n = arr.Length; for (int i = 0; i < n; ++i) Console.Write(arr[i] + " "); Console.WriteLine(); } // Main method public static void Main() { int []arr = {90, 76, 45, 93, 68, 13, 98}; bubbleSrt(arr); Console.WriteLine("Sorted array"); printIt(arr); } }
Output:
Atur cara di atas mempunyai kaedah yang ditentukan untuk mengisih nombor menggunakan Bubble sort. Bubblesort mempunyai dua untuk gelung yang melintasi tatasusunan dan menyimpan nombor untuk ditukar dalam tmp pembolehubah sementara. Nilai tmp ini kemudiannya ditukar dengan kedudukan yang sepatutnya dengan bantuan indeks j. Kaedah lain digunakan untuk mencetak tatasusunan yang diisih. Isih buih menggunakan n – 1 pas untuk mengisih tatasusunan.
Isihan Buih boleh dilaksanakan untuk tertib menurun juga.
Program C# untuk melaksanakan isihan Bubble dalam susunan menurun boleh seperti di bawah:
Kod:
using System; public class BubbleSrt { public static void Main(string[] args) { int[]arr=new int[10]{23,98,45,12,9,16,65,74,34,29};//Array created with 10 unsorted numbers bubblesort(arr,10); int a; for(a = 0; a < 10; a++) Console.Write(arr[a]+"\t");//Printing the array after sorting in descending order Console.ReadLine(); } //bubble sort static void bubblesort(int[] data, int n) { int a; int b; for(a = 0; a < n; a++) for (b = n-1; b > a; b--) if (data[b] > data[b-1])//Condition to arrange array in descending order { int temp = data[b]; data[b]=data[b-1]; data[b-1]=temp; } } }
Output:
Di sini, kami mengisih tatasusunan dalam tertib menurun. Kami telah mengisytiharkan tatasusunan yang mempunyai sepuluh nombor. Selepas itu kami memanggil fungsi bubblesort dalam program utama dan kemudian mencetaknya dalam susunan menurun. Fungsi bubblesort di sini telah mengambil dua pembolehubah untuk melintasi tatasusunan. Di sini ia mengambil dua untuk gelung dan melintasi tatasusunan dan membandingkan nilai yang ada dalam tatasusunan. Keadaan data yang terdapat pada indeks b dan indeks b – 1 akan dibandingkan. Jika nombor yang terdapat pada b lebih besar maka ia akan ditukar. Ini sedang dilakukan di dalam untuk gelung. Sebaik sahaja ia ditukar, ia akan berterusan sehingga penghujung tatasusunan.
Isih gelembung ialah kaedah pengisihan yang paling mudah. Ia merentasi keseluruhan tatasusunan dan gelembung muncul nombor yang membantu dalam menukar dan membawa tatasusunan dalam urutan yang betul. Ia membandingkan dua nombor bersebelahan dan memaparkan nombor tersebut apabila dan apabila nombor tersebut tidak berada dalam susunan yang dijangkakan. Pengisihan menggunakan C# ini sangat mudah dan boleh dilakukan dengan menggunakan pembolehubah asas yang terdapat dalam tatasusunan.
Atas ialah kandungan terperinci Isih Buih dalam C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!