Sortarea unei matrice în Pascal

Selecția Sortare în Pascal

Cautat elementul maxim și transferat la capătul șirului. Apoi, această operație se aplică secvențial la toate articolele, cu excepția ultimului, deoarece este în locația sa finală.

Exemplul 11.4. Sortare ascendentă a generat matrice aleatoare de 10 numere întregi folosind „înlocuire“

Textul programului

Programul up_repl;
Folosește CRT;
Const n = 10; k1 = 10; k2 = 2 * k1 + 1;
Tip vec = array [1..n] din întreg;
Var a, b, c: vec;
k, i, j, f, m: integer;
ch: char;
l: Boolean;
începe
repeta
ClrScr;
Randomizează;
Write ( 'matrice Bazat a [i] =');
Pentru i: = 1 la n do
începe
f: = random (k2);
a [i]: = k1-f;
Write (a [i]: 3);
End;
writeln;
b: = a;
Pentru k: = 1 la n do
începe
m: = 100;
Pentru i: = 1 la n do
Dacă m> b [i] atunci
începe
m: = b [i]; j: = i;
se încheie;
b [j]: = 100; c [k]: = m
se încheie;
Write ( 'array A comandat c [i] =');
Pentru i: = 1 la n do scrie (c [i]: 3);
readln;
ch: = ReadKey;
Până la ch = # 27;
Sfârșit.

Sursa de matrice a [i] = 10 -5 -9 6 -5 7 -4 10 3 6
O matrice a ordonat c [i] = -9 -5 -5 -4 06 martie 06 iulie 10 brumărel

sortare schimb (metoda cu bule) în Pascal

comparând Secvențial perechile adiacente de elemente xi și xi + 1, și dacă xi> xi + 1, atunci ele sunt transpuse. Procesul este apoi repetat pentru următoarea pereche și așa mai departe

Exemplul 11.5. Sortare ascendentă a generat matrice aleatoare de 10 numere întregi folosind „bula“

Textul programului

Programul up_case;
Folosește CRT;
Const n = 10; k1 = 10; k2 = 2 * k1 + 1;
Tip vec = array [1..n] din întreg;
Var a, b: vec;
k, i, f, r: întreg;
ch: char;
l: Boolean;
începe
repeta
ClrScr;
Randomizează;
Write ( 'sursa array a [i] =');
Pentru i: = 1 la n do
începe
f: = random (k2);
a [i]: = k1-f;
Write (a [i]: 3);
End;
writeln;
b: = a;
repeta
l: = true;
pentru i: = 1 la n-1 do
Dacă b [i]> b [i + 1] atunci
începe
r: = b [i]; b [i]: b = [i + 1]; b [i + 1]: = r; l: = false;
End;
Până la l;
Write ( 'array A comandat b [i] =');
Pentru i: = 1 la n do scrie (b [i]: 3);
readln;
ch: = ReadKey;
Până la ch = # 27;
Sfârșit.

Matricea sursă a [i] = 6 -9-10 6 5 4 -4 -1 0 10
Un comandat array b [i] = - -9 -4 -1 10 0 4 5 6 6 10

Inserția sortare Pascal

Lăsați primele k elemente sunt deja sortate. Ia (k + 1) -lea element și situat între k comandat elemente, astfel încât au apărut deja comandat K + 1 din primele elemente. Această metodă este utilizată pentru k de la 1 la n-1.