Isi kandungan:

Bagaimanakah anda membuat isihan gelembung dalam senarai terpaut dalam C++?
Bagaimanakah anda membuat isihan gelembung dalam senarai terpaut dalam C++?

Video: Bagaimanakah anda membuat isihan gelembung dalam senarai terpaut dalam C++?

Video: Bagaimanakah anda membuat isihan gelembung dalam senarai terpaut dalam C++?
Video: Ghaib esoterik bercakap tentang tema sastera yang berkembang bersama secara rohani di YouTube 2024, April
Anonim

Untuk melakukan isihan gelembung, kami mengikuti langkah-langkah di bawah:

  1. Langkah 1: Semak sama ada data pada 2 nod bersebelahan berada dalam tertib menaik atau tidak. Jika tidak, tukar data 2 nod bersebelahan.
  2. Langkah 2: Pada penghujung pas 1, elemen terbesar akan berada di penghujung senarai.
  3. Langkah 3: Kami menamatkan gelung, apabila semua elemen dimulakan.

Dengan cara ini, bagaimanakah anda membuat isihan gelembung dalam senarai terpaut dalam C++?

Untuk melakukan isihan gelembung, kami mengikuti langkah-langkah di bawah:

  1. Langkah 1: Semak sama ada data pada 2 nod bersebelahan berada dalam tertib menaik atau tidak. Jika tidak, tukar data 2 nod bersebelahan.
  2. Langkah 2: Pada penghujung pas 1, elemen terbesar akan berada di penghujung senarai.
  3. Langkah 3: Kami menamatkan gelung, apabila semua elemen dimulakan.

Begitu juga, apakah jenis gelembung C++? Isih Buih . Di dalam jenis gelembung , sebagai elemen disusun mereka secara beransur-ansur" gelembung " (atau naik) ke lokasi yang sepatutnya dalam tatasusunan, seperti buih naik dalam segelas soda. The jenis gelembung berulang kali membandingkan elemen bersebelahan tatasusunan. Elemen pertama dan kedua dibandingkan dan ditukar jika tidak teratur.

Kedua, bagaimana anda mengisih data dalam senarai terpaut?

Algoritma

  1. Buat Nod kelas yang mempunyai dua atribut: data dan seterusnya.
  2. Buat SortList kelas lain yang mempunyai dua atribut: kepala dan ekor.
  3. addNode() akan menambah nod baharu pada senarai:
  4. sortList() akan mengisih nod senarai dalam tertib menaik.
  5. display() akan memaparkan nod yang terdapat dalam senarai:

Manakah algoritma pengisihan terbaik untuk senarai terpaut?

Gabungkan jenis selalunya diutamakan untuk mengisih senarai terpaut. Prestasi akses rawak yang perlahan bagi senarai terpaut menjadikan beberapa algoritma lain (seperti quicksort ) berprestasi buruk, dan lain-lain (seperti heapsort ) mustahil sama sekali. Biarkan head menjadi nod pertama senarai terpaut untuk diisih dan headRef menjadi penunjuk ke kepala.