Introduksjon til sortering i C

I applikasjonen føler utviklerne trangen til å sortere dataene for å gi spesiell funksjonalitet. Det er flere tilnærminger for å sortere dataene, og de telles under sortering i henhold til nomenklaturen. Sortering kan defineres som metoden for å ordne dataene på en bestemt måte som følger en eller annen rekkefølge. Her i dette avsnittet skal vi lære om sortering ved å bruke programmeringsspråket C. Det er flere typer sortering som boble sortering, flette sortering, valg sortering, innsetting sortering og så videre. Vi vil gjøre faktisk koding for sorteringsmetodene som blir brukt veldig ofte i applikasjonen. Kodene vil være tilgjengelige for deg i et tekstformat, slik at du kan finne det enkelt å bruke den koden mens utdataene vises på skjermdumpen for å gi deg innsikt i den faktiske utdataene som kommer etter å ha kjørt programmet.

Hvordan sortering utføres i C?

  • Sortering kan utføres på forskjellige måter basert på sorteringsalgoritmen. I programmeringsspråk C har vi flere tilnærminger til å sortere listen. Begrepet sortering angir ordning av data på en spesiell måte vanligvis i stigende rekkefølge. Selv om måten å sortere dataene er forskjellig på i alle sorteringsalgoritmene, er resultatet av dem alle det samme.
  • I sortering søker programmet vanligvis etter minste antall og forskjøvet det tallet til begynnelsen av listen og gjentar de samme søkene. Igjen når det andre lille antallet er møtt, blir det flyttet til neste rom i listen rett etter den første indeksen, og denne prosessen fortsetter å gjenta til sorteringslisten er oppnådd. Dette er måten sortering gjøres på programmeringsspråket C.
  • I alle tilnærmingene for å sortere listen, spiller matrisen en veldig viktig rolle i programmeringsspråket C. I hver algoritme har matrisen blitt brukt til å lagre listen over elementene som må sorteres. For eksempel, i boble sortering, blir elementene lagret i den ene arrayen og verdiene i arrayen er behandlet for å konvertere dem til en liste med sorterte data.
  • I utvalgssorteringen har den samme matrisen blitt behandlet som to matriser der den første arrayen anses som ledig for å fortelle de sorterte verdiene mens den andre arrayen inneholder den usorterte listen. For å tjene formålet med å sortere matrisen brukes veldig ofte i stedet for å holde verdiene i individuelle variabler. Blant alle algoritmene fungerer hurtig sortering veldig raskt og dermed kalt hurtig sortering. Det tar mye mindre tid sammenlignet med de andre sorteringsalgoritmene.

Typer sortering i C

1. Bubble Sort

  • Boblesortering kan defineres som sorteringsalgoritmen som følger tilnærmingen til å erstatte verdien i den første indeksen med den minste verdien i matrisen og holde den gjentatt til listen er sortert. Det er en veldig enkel måte å utføre sortering på. På denne måten for å sortere matrisen, må verdien tilordnes arrayen i begynnelsen før du starter sorteringen.
  • Nedenfor er programmet for å sortere matrisen ved å bruke boble sortering der verdiene er hentet fra brukeren. Når programmet er satt sammen og kjørt, vil det spørre brukeren om antall elementer de vil sortere. Når nummeret er oppgitt, vil programmet be brukeren om å oppgi verdier som tilsvarer antallet de har oppgitt. Verdiene vil bli lagret i matrisen og behandles videre ved hjelp av nestet for sløyfe sammen med beslutninger ved å bruke "if" for å sortere matrisen.
  • Den første minste verdien som er funnet i matrisen er flyttet til den første indeksen for matrisen, og deretter begynner søket igjen for å finne det andre minste tallet. Når det neste minste tallet er funnet, erstatter det verdien i den andre indeksen og prosessen fortsetter å gjenta til matrisen består av en sortert liste over verdier.

Kode

#include
int main()
(
int total_count, counter, counter1, swap_var;
int array(20);
printf("How many number you want to input?\n");
scanf("%d", &total_count);
printf("Please enter %d integers that has to be sorted\n", total_count);
for (counter = 0; counter < total_count; counter++)
scanf("%d", &array(counter));
for (counter = 0 ; counter < total_count - 1; counter++)
(
for (counter1 = 0 ; counter1 < total_count - counter - 1; counter1++)
(
if (array(counter1) > array(counter1+1)) /* For decreasing order use < */
(
swap_var = array(counter1);
array(counter1) = array(counter1+1);
array(counter1+1) = swap_var;
)
)
)
printf("Below is the list of elements sorted in ascending order:\n");
for (counter = 0; counter < total_count; counter++)
printf("%d\n", array(counter));
return 0;
)

Brukeren har sendt inn inndata 5 3 60 14 1 2 645. Algoritmen har blitt brukt på matrisen som består av verdier på den måten den er gitt av brukeren, og etter behandling av den er utdataene vi mottok 1 2 3 5 14 60 645 .

Produksjon:

2. Utvalgssortering

  • Valgsorten kan defineres som en annen algoritme for å sortere listen der arrayen er delt i to matriser der den første arrayen antas å være tom, mens den andre arrayen består av den usorterte verdilisten. Programmet søker etter de minste verdiene i den andre matrisen, og når verdien er funnet, er den flyttet til begynnelsen av den første arrayen som var tom. Tilnærmingen blir gjentatt igjen og de neste minste verdiene blir flyttet til den andre indeksen i den første matrisen. Prosessene vil fortsette å gjenta til den andre gruppen ble tom.
  • Programmet nedenfor er kodingsimplementeringen av utvalgssorteringsalgoritmen. Når programmet kjører vellykket, vil det be brukeren om å legge inn antall verdier som de er villige til å sortere. Når tellingen er oppnådd, vil programmet be brukeren legge inn verdiene for matrisen som må sorteres. Verdien blir deretter behandlet med nestet for sløyfe for å sortere tallene. Kontroll av om tilstand har også vært involvert her for å sjekke det minste antallet.
  • Prosessene vil bli gjentatt til den første listen er full av den sorterte listen. I mellomtiden holder programmene sitt primære fokus for å sjekke om den andre matrisen har verdi, og hvis den blir funnet positiv, kjører programmet sorteringsalgoritmen igjen. Selv om det sorteres listen på enkel måte, kan det ta litt mer tid i forhold til de andre algoritmene. Men mot slutten vil resultatet det vil generere være det samme som de andre sorteringsalgoritmene.

Kode
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)

På spørsmål om antall elementer som må sorteres, har brukeren gitt 6 i utgangen nedenfor. Senere er verdiene som er lagt inn 25 65 36 86 96 45. Disse verdiene er lagret i matrisen som forventes å være delt i to matriser der den ene vil være tom for å lagre den sorterte listen og den andre har den usorterte listen . Etter å ha behandlet innspillet, var utfallet 25 36 45 65 86 96. Dette tapte er sortert ved å velge valg. Når alle de seks verdiene er flyttet til den første arrayen i den sorterte formen, vil den andre arrayen bli tom og algoritmen avsluttes.

Produksjon:

3. Rask sortering

  • Quicksort kan defineres som den andre algoritmen for å sortere listen der tilnærmingen skal dele opp matrisen i form av større enn og mindre enn verdier til hele verdiene hvis de er delt inn i individer. I denne algoritmen er verdien for den siste indeksen i matrisen valgt som en pivot, og alle verdiene som er mindre enn pivot, er blitt forskjøvet til den arrayen som forventes å skje til venstre for verdien og elementene som har en høyere verdi enn pivoten flyttes til riktig gruppe. Igjen er en pivot valgt fra den nydannede arrayen som hadde verdiene mindre enn den siste pivotverdien. Tilsvarende vil verdiene som er mindre enn den nye pivoten forskyves til arrayen som vil være igjen, og verdiene som er mer enn den nye pivotten, vil bli forskjøvet i den høyre arrayen.
  • Programmet nedenfor er implementeringen av quicksort ved å bruke programmeringsspråket C. Når programmet kjøres, vil det be brukeren om antall elementer de vil sortere. Basert på tellingen vil for-loopen anslå estimerte tider for å ta input fra brukeren. Inngangen blir behandlet ved å bruke betingelsene if sammen med for-loop for å generere en sortert liste. Arrayet fortsetter å ordne verdiene ved hjelp av pivotverdien til alle verdiene er kontrollert for den minste verdien.
  • Sorteringen som er gjort ved hjelp av denne algoritmen er altfor raskere sammenlignet med de andre sorteringsalgoritmene, og det er derfor den har fått navnet hurtig sortering. Quicksort er den eneste algoritmen som fører til å dele arrayen til alle verdiene er skilt i de enkelte arrayene. De blir deretter lagt til eller samlet i en enkelt matrise som regnes som den sorterte listen.

Kode:

#include
void quicksort_method (int (), int, int);
int main()
(
int element_list(50), count, counter;
printf("Please enter the total count of the elements that you want to sort: ");
scanf("%d", &count);
printf("Please input the elements that has to be sorted:\n");
for (counter = 0; counter < count; counter++)
(
scanf("%d", &element_list(counter));
)
quicksort_method(element_list, 0, count - 1);
printf("Output generated after using quick sort\n");
for (counter = 0; counter < count; counter++)
(
printf("%d ", element_list(counter));
)
printf("\n");
return 0;
)
void quicksort_method(int element_list(), int low, int high)
(
int pivot, value1, value2, temp;
if (low < high)
(
pivot = low;
value1 = low;
value2 = high;
while (value1 < value2)
(
while (element_list(value1) <= element_list(pivot) && value1 <= high)
(
value1++;
)
while (element_list(value2) > element_list(pivot) && value2 >= low)
(
value2--;
)
if (value1 < value2)
(
temp = element_list(value1);
element_list(value1) = element_list(value2);
element_list(value2) = temp;
)
)
temp = element_list(value2);
element_list(value2) = element_list(pivot);
element_list(pivot) = temp;
quicksort_method(element_list, low, value2 - 1);
quicksort_method(element_list, value2 + 1, high);
)
)

I utdata nedenfor bekreftet brukeren at de vil sende inn 6 verdier og for å danne en liste over sorterte data. Etter å ha gitt tellingen er verdiene levert av brukeren 56, 35, 24, 86, 98, 2. Quicksort har blitt brukt på disse verdiene, og den sorterte listen er generert som har verdien 2, 24, 35, 56, 86, 98.

Produksjon:

4. Slå sammen sortering

  • Merge sort kan defineres som en annen sorteringsalgoritme som utfører sorteringen ved å skille arrayen til sist når den blir til en individuell verdi og deretter aggregerer dem på en måte slik at den kan bli til en sortert matrise.
  • Prosessen bruker litt mye tid sammenlignet med de andre konkurrerende algoritmene, men den anses som ganske effektiv sammenlignet med andre. Når det gjelder sortering av en stor liste, fungerer denne algoritmen veldig bra og foretrekkes derfor å utvikle applikasjonen som må behandle den store listen.

Kode:

#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)

Når koden ovenfor kjøres, ber den brukeren først oppgi antall elementer de vil sortere. Når nummeret er levert inn, må de oppgi verdiene for det samme antallet de opprinnelig har gitt. Når verdiene er sendt, vil algoritmen inneholde disse verdiene i matrisen og behandle den for å transformere matrisen til den sorterte matrisen. Etter at matrisen er sortert i stigende rekkefølge, vil utdataene vises til brukeren.

Produksjon:

5. Heapsort

  • Heapsorteringen kan defineres som sorteringsalgoritmen som fungerer ved å søke i det maksimale elementet i listen og plassere det til det siste. Algoritmen utfører handlingen rekursivt til matrisen blir sortert oppover.
  • Det er veldig tid å ta prosessen for å velge maksimal verdi og flytte den til den siste, og det blir derfor betraktet som en mindre effektiv sorteringsmetode når det gjelder sortering av den store listen. Det fungerer imidlertid fint med listen som har et begrenset antall verdier. Nedenfor er implementeringen av denne algoritmen på programmeringsspråket C sammen med utgangen.

Kode:

#include
void form(int ());
void set_down(int (), int);
int main()
(
int val(100), chk, counter, end, temp_val;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter=1;counter<=chk;counter++)
scanf("%d", &val(counter));
val(0)=chk;
form(val);
while(val(0) > 1)
(
end=val(0);
temp_val=val(1);
val(1)=val(end);
val(end)=temp_val;
val(0)--;
set_down(val, 1);
)
printf("\n Output generated after using heap sort \n");
for(counter=1;counter<=chk;counter++)
printf("%d ", val(counter));
)
void form(int val())
(
int counter, chk;
chk=val(0);
for(counter=chk/2;counter>=1;counter--)
set_down(val, counter);
)
void set_down(int val(), int counter)
(
int counter2, temp_val, chk, flag=1;
chk=val(0);
while(2*counter<=chk && flag==1)
(
counter2=2*counter;
if(counter2+1 val(counter2))
counter2=counter2+1;
if(val(counter) > val(counter2))
flag=0;
else
(
temp_val=val(counter);
val(counter)=val(counter2);
val(counter2)=temp_val;
counter=counter2;
)
)
)

Arbeidet med denne algoritmen er den samme som for andre sorteringsalgoritmer, da den også sorterer listen i stigende rekkefølge. Når koden over er skrevet, må brukeren levere antall verdier som de skal sortere. Når verdiene er sendt, vil koden behandle dem for å gjøre arrayet til det sorterte. Utdataene blir vist etter hvert, og det kan observeres at verdiene som er sendt inn av brukeren, har blitt sortert i stigende rekkefølge.

Produksjon:

6. Sett inn sortering

  • Innleggssortering kan defineres som sorteringsalgoritmen som fungerer ved å flytte minimumsverdien på begynnelsen av listen én om gangen. Dette er en veldig mindre effektiv sorteringsalgoritme og ikke funnet egnet til å håndtere den store listen.
  • Denne tilnærmingen for å sortere algoritmen fungerer veldig sakte og vanligvis ikke foretrukket i noen av applikasjonene. Det kan fungere bra med listen som har ganske få antall elementer. For applikasjonene som har krav om å behandle noen få verdier kan utnytte denne algoritmen.

Kode:

#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)
#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)
#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)

Når programmet kjører, må brukeren legge inn antall verdier de trenger å sortere. Etterpå blir verdiene som er lagt inn av brukeren, lagret i matrisen. De vil da gå under behandling og ved bruk av for loop- og tilstandskontroll vil minimumsverdien flyttes til begynnelsen i hver rekursjon og ende opp med å generere en sortert matrise. Verdiene vises for brukeren på slutten av programmet.

Utgang:

Konklusjon

Sorteringsalgoritmen brukes til å generere en sortert liste som er en normal liste der alle verdiene er sortert på en bestemt måte. Listen har blitt brukt veldig ofte i selve applikasjonen for å bringe noen funksjonaliteter. I denne artikkelen har vi dekket boble sortering, utvalgssortering og quicksort mens det er flere andre algoritmer som merge sort er også der som kan utnyttes for å generere en sortert liste. Blant alle sorteringsalgoritmene fungerer quicksort veldig raskt og hjelper deg med å sortere listen veldig raskt. Programmene som er skrevet her er i utgangspunktet for å implementere disse sorteringsalgoritmene ved å bruke programmeringsspråket C. Hvis du er villig til å implementere det samme på andre programmeringsspråk, kan du bruke den samme logikken, og det eneste som kan variere kan være syntaks og nøkkelord.

Anbefalt artikkel

Dette har vært en guide til Sortering i C. Her diskuterer vi en introduksjon i Sortering i C og forskjellige typer sortering sammen med prøvekode. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Mønstre i C-programmering
  2. Palindrome in C-programmet
  3. Slå sammen sortering i Java
  4. Introduksjon til sortering i R
  5. Introduksjon til sortering i C ++
  6. Oversikt over sortering i PHP
  7. Heap Sort in Python
  8. Sorteringsfunksjon i Python med eksempler