Rumah >pembangunan bahagian belakang >C++ >Isih Buih dalam C
Isih ialah konsep yang perlu kita pelajari dalam mana-mana bahasa pengaturcaraan. Kebanyakan pengisihan dilakukan pada tatasusunan yang melibatkan nombor dan merupakan batu loncatan untuk menguasai seni teknik untuk melintasi dan mengakses data daripada tatasusunan.
Jenis teknik isihan yang akan kita bincangkan dalam artikel hari ini ialah Bubble Sort.
Isih buih ialah algoritma pengisihan mudah yang berfungsi dengan menukar elemen bersebelahan berulang kali jika ia dalam susunan yang salah. Kaedah mengisih tatasusunan ini tidak sesuai untuk set data yang besar kerana kerumitan masa untuk senario purata dan kes terburuk adalah sangat tinggi.
Di bawah ialah pelaksanaan jenis gelembung. Ia boleh dioptimumkan dengan menghentikan algoritma jika gelung dalam tidak menyebabkan sebarang pertukaran.
// Easy implementation of Bubble sort #include <stdio.h> int main(){ int i, j, size, temp, count=0, a[100]; //Asking the user for size of array printf("Enter the size of array you want to enter = \t"); scanf("%d", &size); //taking the input array through loop for (i=0;i<size;i++){ printf("Enter the %dth element",i); scanf("%d",&a[i]); } //printing the unsorted list printf("The list you entered is : \n"); for (i=0;i<size;i++){ printf("%d,\t",a[i]); } //sorting the list for (i = 0; i < size - 1; i++) { count = 1; for (j = 0; j < size - i - 1; j++) { if (a[j] > a[j + 1]) { //swapping elements temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; count = 1; } } // If no two elements were swapped by inner loop, // then break if (count == 1) break; } // printing the sorted list printf("\nThe sorted list is : \n"); for (i=0;i<size;i++){ printf("%d,\t",a[i]); } return 0; }
**
Kerumitan Masa: O(n2)
Ruang Bantu: O(1)
Sila komen jika anda mempunyai sebarang pertanyaan !!
Dan semua perbincangan akan dihargai :)
Atas ialah kandungan terperinci Isih Buih dalam C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!