C ++ Algoritm - Exemple de algoritm C ++ cu explicație detaliată

Cuprins:

Anonim

Introducere în algoritmul C ++

Setul finit de pași aranjați secvențial, care acționează ca un ghid pentru a rezolva orice problemă. Acest cuvânt algoritm c ++ este utilizat în special în informatică pentru a defini procedura de rezolvare a problemelor complexe. Arhitectura soluției poate fi diferită pentru diferiți algoritmi. Cel mai eficient algoritm este cel care oferă soluția în mai puțin timp și consumă mai puțină memorie în comparație cu alte soluții algoritmice. În antetul C ++ conține funcțiile proiectate pentru a funcționa pe intervalele numerice. Aceste funcții funcționează pe număr, dar nu fac nicio manipulare a datelor. Funcționează doar în timp ce iterează sau indică numerele fără a-i atinge datele.

Unele funcții de membru sub antet sunt:

  • algoritm :: adjacent_find (): punctează prima apariție a două numere consecutive identice.
  • algoritm :: all_of (): returnează adevărat dacă numerele se situează în intervalul primelor și ultimelor elemente.
  • algoritm :: binary_search (): verifică dacă „valoarea de căutat” este prezentă în secvența sortată sau nu.
  • algoritm :: copy (): Această funcție ajută la copierea unei game de elemente dintr-o locație în noua locație.
  • algoritm :: count_if (): Această funcție returnează numărul de apariții ale anumitor elemente dacă condiția menționată în „if condition” este satisfăcută.
  • algoritm :: egal (): Această funcție testează dacă două seturi de elemente sunt egale sau nu. Există o mulțime de funcții similare predefinite în C ++, care pot fi trimise în judecată de codificatori în avantajul activității lor.

Explicația algoritmului C ++

C ++ oferă versiuni ale acestor algoritmi în spațiul de nume std :: intervale. Algoritmii sunt subiectul vast care acoperă subiecte de la căutare, sortare la mormane min / max. Acestea pot fi clasificate în:

1. Heap: în astfel de tipuri, construim o grămadă pentru a afla valoarea maximă sau mină a secvenței. Aceasta a folosit structura de date a copacilor pentru a-și atinge producția.

2. Căutare binară: Acest algoritm C ++ împarte întreaga secvență în două părți în mod iterativ, până când găsește valoarea reală pe care o căutăm din secvența vizată. Este un algoritm extrem de eficient, deoarece reduce timpul la jumătate. Condiția preliminară pentru a utiliza acest algoritm C ++ este ca secvența oferită acestuia să fie sortată în orice ordine.

3. Sortare: Există diferite tipuri de sortare care pot fi utilizate pentru a genera secvența sortată. Sunt sortare de inserție, sortare de bule, sortare de selecție, sortare de haine, sortare rapidă, sortare de îmbinare. Unii dintre acești algoritmi funcționează pe principiul „împărțirii și stăpânirii” precum fuziunea și sortarea rapidă. Acestea sunt rapide și eficiente în comparație cu altele, deși utilizează mai multă memorie în operațiunile lor.

4. Operații simple peste secvență: Algoritmii pot fi folosiți pentru a efectua operații simple precum înlocuirea, eliminarea, inversarea numerelor într-o secvență. Există mai multe modalități de a ajunge la această ieșire folosind algoritmi diferiți, care vizează obținerea aceleiași rezultate.

5. Operații care nu modifică: Unele operații precum căutarea, găsirea, numărarea numărului de elemente din secvență. Aceste operațiuni nu modifică valorile datelor ale elementului, ci funcționează în jurul acestor elemente.

Exemplu de algoritmi cu pași

Iată câteva exemple de algoritm C ++ cu pașii explicați mai jos:

Exemplul # 1

Scrieți un algoritm C ++ pentru a scrie un program pentru a adăuga două numere.

Algoritmul

Mai jos se oferă pași:

  1. start
  2. Acceptați numărul 1, numărul 2
  3. Suma = num1 + num2
  4. Afișați suma
  5. Stop

Exemplul # 2

Scrieți un algoritm C ++ pentru a determina dacă un student este trecut sau eșuat pe baza notelor. Notele reprezintă media notelor totale obținute la toate subiectele.

Algoritmul

Mai jos se oferă pași:

  1. start
  2. Marcaje de intrare1, mărci2, mărci3, mărci4
  3. Grad = (marci1 + mărci2 + mărci3 + mărci4) / 4
  4. Dacă (gradul <50) atunci
  5. Tipăriți „Fail”
  6. altfel
  7. Printează „Trece”
  8. Se încheie dacă
  9. Stop

Exemplul # 3

Bubble sort- Acesta este algoritmul C ++ pentru a sorta secvența numerelor în ordine crescătoare sau descendentă. Compara cele mai apropiate doua numere si pune cel mic inaintea unui numar mai mare daca se sorteaza in ordine crescatoare. Acest proces continuă până când ajungem la o secvență în care găsim toate numerele ordonate în succesiune.

Complexitatea timpului acestui algoritm este O (n), deoarece controalele trebuie să parcurgă tot numărul de elemente care sunt acolo în secvență și apoi să verifice dacă sunt selectate 2 numere adiacente. Dacă nu, atunci sortează și se mută la celelalte două perechi adiacente din serie.

Implementarea algoritmului C ++ de mai sus

Iată exemplul algoritmului C ++ cu implementarea codului prezentat mai jos:

Cod:

#include
void swap(int *p1, int *p2)
(
int temp = *p1;
*p1 = *p2;
*p2 = temp;
)
// This is an optimised code for the bubble sort
void bSort(int arrnumbers(), int n)
(
int i, j;
bool check;
for (i = 0; i < n-1; i++)
(
check = false;
for (j = 0; j < ni-1; j++)
(
if (arrnumbers(j) > arrnumbers(j+1))
(
swap(&arrnumbers(j), &arrnumbers(j+1));
check = true;
)
)
// We are breaking from the loop in case two elements were not swapped by inner loop.
if (check == false)
break;
)
)
//This function is to print the array sequence as final output after sorting
void print(int arrnumbers(), int sizeofarray)
(
int i;
for (i=0; i < sizeofarray; i++)
printf("%d ", arrnumbers(i));
)
// This the main program from where the execution will start
int main()
(
int arrnumbers() = (5, 6, 1, 0, 2, 9);
int n = sizeof(arrnumbers)/sizeof(arrnumbers(0));
bSort(arrnumbers, n);
printf("Sorted array: \n");
print(arrnumbers, n);
return 0;
)

ieşire:

Concluzie

Algoritmul C ++ este un ghid de soluții generice detaliat pas cu pas, care este proiectat păstrând accentul pentru a oferi cea mai eficientă și mai puțin consumatoare de timp la orice problemă oferită. Există multe instrumente pentru a verifica eficiența algoritmilor, cum sunt notările Oh mari, notațiile Omega sau Gama, care este utilă pentru a găsi eficacitatea algoritmilor. Fiecare algoritm are propriul său privilegiu și avantaje și alegem soluția potrivită potrivită conform enunțului problemei. Acest lucru joacă un rol crucial atunci când proiectăm o soluție pentru problemă, deoarece devine baza performanței produsului final.

Articole recomandate

Acesta este un ghid pentru algoritmul C ++. Aici discutăm introducerea și explicația detaliată a algoritmului C ++ împreună cu diversele exemple și implementarea codului. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Arrayuri 3D în C ++
  2. Rust vs C ++
  3. Clasă abstractă în C ++
  4. Supraîncărcare și suprasolicitare în C ++
  5. Declarând clasa abstractă în C # cu exemplu