• Nie Znaleziono Wyników

Sortowanie tablicy – przykład programu sterującego

N/A
N/A
Protected

Academic year: 2021

Share "Sortowanie tablicy – przykład programu sterującego"

Copied!
2
0
0

Pełen tekst

(1)

Sortowanie tablicy – przykład programu sterującego

#include <iostream.h>

#include <stdlib.h>

void exch(int &A, int &B) { int t = A; A = B; B = t; } void compexch(int &A, int &B) { if (B < A) exch(A, B); } void sort(int a[], int l, int r) {

kod odpowiedniego sortowania }

void main()

{

int i; int a[30];

cout << "Oto elementy tablicy: ";

randomize ();

for(i=0; i<30; i++) {

a[i]=random(100);

cout << a[i] << " ";

} cout <<"\n";

sort( a, 0, 29);

for (i = 0; i < 30; i++) cout << a[i] << " ";

cout << endl;

}

Sortowanie przez selekcję void selection(int a[], int l, int r)

{ for (int i = l; i < r; i++) { int min = i;

for (int j = i+1; j <= r; j++) if (a[j] < a[min]) min = j;

exch(a[i], a[min]);

} }

Sortowanie bąbelkowe void bubble(inta[], int l, int r)

{ for (int i = l; i < r; i++) for (int j = r; j > i; j--) compexch(a[j-1], a[j]);

}

(2)

Sortowanie Shella dla ciągu 1,4,13,40,...

void shellsort(int a[], int l, int r) { int h;

for (h = 1; h <= (r-l)/9; h = 3*h+1) for ( ; h > 0; h /= 3)

for (int i = l+h; i <= r; i++) { int j = i; Item v = a[i];

while (j >= l+h && v < a[j-h]) { a[j] = a[j-h]; j -= h; } a[j] = v;

} }

---

Sortowanie przez wstawianie void sort(int a[], int l, int r)

{ for (int i = l+1; i <= r; i++) for (int j = i; j > l; j--) compexch(a[j-1], a[j]);

}

template <class Item>

void insertion(Item a[], int l, int r) { int i;

for (i = r; i > l; i--) compexch(a[i-1], a[i]);

for (i = l+2; i <= r; i++) { int j = i; Item v = a[i];

while (v < a[j-1])

{ a[j] = a[j-1]; j--; } a[j] = v;

} }

Cytaty

Powiązane dokumenty

Po uruchomieniu programu ABAQUS wybraniu Create Model Database w ikonkę opisaną jako Create Part się w obszarze narzędzi lub dwukrotne kliknięcie na drzewie poleceń (Model

++i lub --i wykonują się najpierw, zanim wykona się wyrażenie, w którym użyto te operatory.. Operatory inkrementacji i dekrementacji

void println() Terminate the current line by writing the line separator string.. void println(boolean x) Print a boolean and then terminate

// utworzono tablicę 10 referencji typu String, naleŜy dla kaŜdego elementu tablicy przydzielić pamięć. • Przydział pamięci na elementy

wtedy rozpoczynają proces plastyczności polegający na zerwaniu połączenia z neuronem, który go słabiej pobudza niż wejście oraz połączenie się z nowo utworzonym neuronem,

[∗∗] Wykaż, że algorytm sortowania bąbelkowego na ciągu n–elementowym wykona liniową liczbę za- mian elementów w przypadku (chociaż liczba porównań zawsze będzie

[∗∗] Wykaż, że algorytm sortowania bąbelkowego na ciągu n–elementowym wykona liniową liczbę za- mian elementów w przypadku (chociaż liczba porównań zawsze będzie

Sortowanie przez scalanie (ang. merge sort), to rekurencyjny algorytm sortowania danych, mający zastosowanie przy danych dostępnych sekwencyjnie (po kolei, jeden element na raz),