Třídění - Kompletní příklad programu algoritmu třídění metodou vkládání v C++

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů

Příklad programu algoritmu řazení v jazyce C++ - Třídění vkládání je třídicí algoritmus, který porovnává první dva datové prvky, třídí je, poté kontroluje další datové prvky jeden po druhém a porovnává je s seřazenými datovými prvky.




Protože algoritmus vkládání C++ funguje na základě porovnávání datových prvků, které mají být seřazeny, je tento algoritmus také zahrnut do třídění založeného na porovnání.


Základní myšlenkou algoritmu C++ Insertion Sort je najít „správné“ místo pro každý prvek pole sekvenčním vyhledáváním. Poté vloží zpracovaný prvek pole na správné místo. Tento proces se provádí v N-1 stupních (při řazení se nazývá „průchod“), index začíná od 0.


Proces třídění pomocí algoritmu Insertion Sort C++ se provádí porovnáním i-tých dat (kde i začíná od 2. dat k posledním datům) s dalšími daty. Pokud jsou nalezena menší data, budou vložena dopředu podle své správné polohy.


C++ vkládací algoritmus

Vložení řazení (metoda vkládání) má za cíl udělat setříděnou levou stranu pole, dokud není celé pole úspěšně seřazeno. Tato metoda také třídí čísla, která byla přečtena, a poté opakovaně vkládá nepřečtená čísla v poli na levou stranu seřazeného pole.

4 3 5 9 8 7 12 13 16 dvacet

Do přední části musíme vložit druhé číslo prvku jedna, konkrétně (3), tak, aby přední část byla nejmenší částí.

3 4 5 9 8 7 12 13 16 dvacet

Poté zkontrolujte, zda je třetí číslo nebo čtvrtý prvek, konkrétně (5), menší než druhý nebo třetí prvek (4) nebo první nulový prvek (3), jinak nebude výměna provedena. A bude to takhle

3 4 5 9 8 7 12 13 16 dvacet

Nyní jsou první tři čísla seřazena postupně a další číslo vložíme do čísla, které bylo po vložení seřazeno před ním.

Opakujte postup, dokud nevložíte poslední číslo takto:


Contoh Program Insertion Třídit C++

#zahrnout
#zahrnout
#zahrnout
pomocí jmenného prostoru std;
hlavní(){
systém ('barva a');
cout<<'==================================================================='<
cout<<' HARDIFAL'<
cout<<'= JURUSAN : TEKNIK INFORMATIKA'<cout<<' ==================================================================='<

int nilai [20];
int i,j,k,N;
int temp;
boolova změna;
cout<<'Masukan Banyak Bilangan :';
cin>N;
pro (i=0; i
cout<<'Elemen Ke :' <
cin>>nilai [i];
}
cout<<' Data sebelumnya Diurut :';
pro (i=0;i
cout<
i=0;
změnit = pravda;
zatímco já<=N-2) && (tukar)){
změna = nepravda;
for (j=N-1; j>=i+1; j--){
if ( nilai [ j ]
teplota = nilai [j];
nilai[j] = nilai[j-1];
nilai [j-1] = teplota;
změnit = pravda;
cout<
pro (k=0; k
cout<
}
}i++;
}
cout<<' Data Setelah Diurutkan :';
pro (i=0; i
cout<
getch();
}

Výstupní program Algoritma Vložení Třídění C++: