Hvordan implementerer man Bubble Sort i C-programmering?

Hvordan Implementerer Man Bubble Sort I C Programmering



Sortering af arrays eller containere er en almindelig proces i programmering, og C++ tilbyder forskellige sorteringsalgoritmer at implementere. Blandt dem, Boble sortering er den nemmeste og enkleste algoritme at implementere i C++.

Denne artikel diskuterer en nem måde at implementere Bubble Sort i C-programmering.

Hvad er Bubble-Sort i C-programmering?

I Boble sortering , er elementerne gentagne gange arrangeret i rækkefølge, uanset om det er i stigende eller faldende rækkefølge, afhængigt af brugerens præference. Sorteringsprocessen i C begynder med at søge i det første indeks og sammenligne det første og andet element. Hvis det første indekselement er større end det andet, ombyttes de. Den samme sammenlignings- og bytteproces gentages for det andet indekselement og det tredje element, indtil alle elementer er sorteret.







Hvordan fungerer boblesortering?

Her er en trin-for-trin guide til implementering Boble sortering i C.



Lad os overveje input-arrayet {5, 3, 1, 4, 6} . For at sortere dette array vha Boble sortering , følger vi nedenstående pas:



Første pas:

(5 3 1 4 6) -> (3 5 1 4 6), Byt siden 5 > 3





(3 5 1 4 6) -> (3 1 5 4 6), Byt siden 5 > 1

(3 1 5 4 6) -> (3 1 4 5 6), Byt siden 5 > 4



(3 1 4 5 6) -> (3 1 4 5 6), Ingen swap, da alle elementer er i orden.

Andet pas:

(3 1 4 5 6) -> (1 3 4 5 6), Byt siden 3 > 1

(1 3 4 5 6) -> (1 3 4 5 6), Ingen swap, da alle elementer er i orden.

Tredje pas:

(1 3 4 5 6) -> (1 3 4 5 6), Ingen swap, da alle elementer er i orden.

Arrayet er sorteret, og algoritmen genkender dette efter tredje gang, da der ikke var nogen swaps.

Program for boblesortering i C

Følgende er implementeringen af Boble sortering i C-programmering.

#include

int vigtigste ( ) {

int array [ 100 ] , n , x , og , s ;

printf ( 'Indtast venligst antallet af arrayelementer: ' ) ;

scanf ( '%d' , & n ) ;

printf ( 'Indtast venligst elementværdierne: ' ) ;

til ( x = 0 ; x < n ; x ++ )

scanf ( '%d' , & array [ x ] ) ;

til ( x = 0 ; x < n - 1 ; x ++ ) {

til ( og = 0 ; og < n - x - 1 ; og ++ ) {

hvis ( array [ og ] > array [ og + 1 ] ) {

s = array [ og ] ;

array [ og ] = array [ og + 1 ] ;

array [ og + 1 ] = s ; }

}

}

printf ( 'Sorteret array efter brug af boblesortering:' ) ;

til ( x = 0 ; x < n ; x ++ )

{

printf ( '%d' , array [ x ] ) ;

}

Vend tilbage 0 ;

}

Ovenstående C-program initialiserer først et array med en størrelse på 100 elementer og beder brugeren om at indtaste størrelsen på de elementer, der skal sorteres, og derefter indtastede elementer fra brugeren én efter én. De indtastede værdier i et array sorteres derefter ved hjælp af indlejrede løkker, da koden bytter elementerne, hvis de er i den forkerte rækkefølge. Til sidst udskriver den det sorterede array ved hjælp af for loop.

Produktion

Konklusion

Boble sortering er en sorteringsalgoritme, der bruges til at arrangere arrayet i stigende eller faldende rækkefølge ved at sammenligne hvert element i arrayet med dets tilstødende element og matche indtil det sidste element er sorteret. I de ovennævnte retningslinjer lærer du det grundlæggende i Boble sortering algoritme og dens implementering i C-programmering.