Bagaimana Melaksanakan fungsi Susun di C ++?



Artikel ini akan membantu anda meneroka fungsi Susun dalam c ++ dan dalam prosesnya memberi anda demonstrasi terperinci mengenai konsep tersebut

Menyusun adalah salah satu fungsi paling asas dan berguna yang digunakan untuk data. Ini bertujuan untuk mengatur data dengan cara tertentu, yang dapat meningkat atau menurun sesuai dengan persyaratan. Terdapat fungsi bawaan dalam C ++ STL dengan nama 'sort ()' yang membolehkan kita melakukan algoritma penyortiran dengan mudah. Dalam artikel ini kita akan meneroka Fungsi Urut Dalam C ++,

Petunjuk berikut akan dibahas dalam artikel ini:





Teruskan dengan artikel ini mengenai fungsi Susun di C ++

Susun ( ) fungsi

Ini adalah fungsi built-in dari file header algoritma yang digunakan untuk menyusun bekas seperti array, vektor dalam urutan yang ditentukan. Secara dalaman fungsi ini dilaksanakan sebagai Quick-sort
Quicksort adalah algoritma divide and winer. Quicksort terlebih dahulu membahagikan senarai elemen yang besar menjadi dua sub-senarai yang lebih kecil: elemen yang lebih rendah dan elemen yang lebih tinggi. Quicksort kemudian menyusun sub-senarai secara rekursif.



Langkah-langkahnya adalah seperti berikut:
1. Pilih elemen rawak (biasanya elemen terakhir), yang dipanggil pangsi, dari senarai.
2. Susun semula senarai sedemikian rupa sehingga semua elemen dengan nilai yang lebih rendah daripada pangsi datang sebelum pangsi, sementara semua elemen dengan nilai yang lebih besar daripada pangsi datang setelahnya dan nilai yang sama dapat berjalan dengan baik dalam proses ini disebut operasi partisi.
3. Susun sub-senarai unsur-unsur yang lebih rendah dan sub-senarai unsur-unsur yang lebih besar, pilih pangsi dalam sub-senarai dan bahagikannya.
Kes asas pengulangan adalah senarai ukuran sifar atau satu, yang tidak perlu disusun dan oleh itu dengan menggabungkannya kita menyusun senarai kita.

menukar rentetan hingga kini dalam java

Quicksort lebih pantas dalam praktik daripada algoritma O (n log n) lain seperti Penyisipan Sort atau Bubble semacam. Quicksort dapat dilaksanakan dengan algoritma pemisahan di tempat yang bermaksud keseluruhannya dapat dilakukan dengan hanya ruang tambahan O (log n). Quicksort bukan jenis yang stabil.
Kerumitannya adalah seperti berikut:
Kes Terbaik - O (n log n)
Kes Terburuk - O (n ^ 2)
Kes Purata - O (n log n)

Sintaks:
urutkan (pertama, terakhir)
Di sini,
pertama - adalah indeks (penunjuk) elemen pertama dalam julat yang hendak disusun.
terakhir - adalah indeks (penunjuk) elemen terakhir dalam julat yang hendak disusun.
Sebagai contoh, kita ingin menyusun elemen array 'arr' dari kedudukan 1 hingga 10, kita akan menggunakan sort (arr, arr + 10) dan ia akan menyusun 10 elemen dalam urutan Menaik.
Nilai pulangan
Tiada



Kerumitan

Rata-rata kerumitan semacam adalah N * log2 (N), di mana N = terakhir - pertama.

Julat data
Objek dalam julat [pertama, terakhir] diubah suai.

Pengecualian
Lebihan dengan parameter templat yang dinamakan sebagai kesalahan laporan ExecutionPolicy seperti berikut:
Sekiranya algoritma gagal mengalokasikan memori, std :: bad_alloc dilemparkan sebagai pengecualian.
Sekiranya pelaksanaan fungsi dipanggil sebagai sebahagian daripada algoritma, ia akan membuat pengecualian std :: terminate.

Teruskan dengan artikel ini mengenai fungsi Susun di C ++

Contoh - Untuk menyusun data mengikut urutan menaik:

#sertakan dengan menggunakan namespace std int main () {int array [] = {10, 35, 85, 93, 62, 77, 345, 43, 2, 10} int n = sizeof (array) / sizeof (array [0] ) // 'sizeof' memberikan ukuran jumlah array iaitu ukuran setiap watak * tidak. watak // supaya tidak. watak // kita membahagikan sizeof (array) dengan ukuran mana-mana satu watak array // di sini adalah array [0] sort (array, array + n) cout<< 'nArray after sorting using ' 'default sort is : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

Pengeluaran :

Output- Fungsi Susun dalam C ++ - Edureka

Penjelasan

Dari contoh di atas, kita melihat fungsi semacam () secara lalai menyusun susunan dalam urutan menaik.

diploma pascasiswazah vs sarjana

Teruskan dengan artikel ini mengenai fungsi Susun di C ++

Contoh - Untuk menyusun data dalam urutan menurun:

Untuk menyusun data array dalam urutan menurun, kita perlu memperkenalkan parameter ketiga yang digunakan untuk menentukan urutan elemen yang akan disusun. Kita dapat menggunakan fungsi 'lebih besar ()' untuk menyusun data dalam urutan menurun.

#sertakan dengan menggunakan namespace std int main () {int array [] = {41, 53, 4, 459, 60, 7, 23, 4, 232, 10} int n = sizeof (array) / sizeof (array [0] ) urutkan (array, array + n, lebih besar ()) cout<< 'Array after sorting : n' for (int i = 0 i < n ++i) cout << array[i] << ' ' return 0 } 

Pengeluaran:

Tamat l anation
Di sini fungsi sort () melakukan perbandingan dengan cara yang meletakkan elemen yang lebih besar sebelumnya.

Teruskan dengan artikel ini mengenai fungsi Susun di C ++

Sebahagian_susun

C ++ STL memberi kita fungsi penyortiran separa, fungsinya mirip dengan fungsi sort () tetapi tidak seperti fungsi sort () ia tidak digunakan untuk menyusun keseluruhan rentang, tetapi digunakan untuk menyusun hanya sub-bahagiannya. Ini menyusun unsur-unsur dalam julat [pertama, terakhir], sedemikian rupa sehingga elemen sebelum elemen tengah disusun dalam urutan menaik, sedangkan elemen setelah tengah dibiarkan sebagaimana adanya.

Ia dapat digunakan untuk mencari elemen terbesar jika kita menggunakan objek fungsi untuk menyusun kedudukan pertama

Contohnya

#include #include #include menggunakan namespace std int main () {vektor vec = {10, 45, 60, 78, 23, 21, 30} vektor :: iterator iptr partial_sort (vec.begin (), vec.begin () + 1, vec.end (), lebih besar ()) iptr = vec.begin () cout<< 'The largest element is = ' << *iptr return 0 } 

Pengeluaran:

Penjelasan:
Kod di atas boleh digunakan untuk mencari nombor terbanyak dalam satu siri, untuk mencari nombor terkecil dalam satu siri, kita hanya perlu mengeluarkan perintah yang lebih besar.

Oleh itu, kita telah mengakhiri artikel ini mengenai ‘Fungsi Urutkan dalam C ++’. Sekiranya anda ingin mempelajari lebih lanjut, lihat Java Training oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Edureka's kursus dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.