- iPhone topik
- Apple iPhone 15 Pro Max - Attack on Titan
- A ZTE sem maradt adós csúcstelefonnal
- Bemutatkozott a Poco X7 és X7 Pro
- Google Pixel topik
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Garmin Instinct – küldetés teljesítve
Új hozzászólás Aktív témák
-
czappa
aktív tag
Hi! Pascal guruk segítségét szeretném kérni, írtam egy programot (delphi console application - tehát gyak. pascal), ami a buborékos rendezést reprezentálja:
program buborekos_r;
{buborék rendezés, mert az jó
osszehasonlitjuk az 1. ket elemet, és ha az 1. nagyobb,
akkor csereljuk. Majd a 2. és 3. elemet vizsgaljuk, stb.
}
{a ''rendez'' eljarasrol:
az n elemu dinamikus tomb 0-tol (n-1)-ig szamozza az elemeket
Mivel egy elemet mindig az utana kovetkezovel vizsgalunk, így
n-1 ellenorzesre van szuksegunk, ezért menne a belso ciklus 0-tol
(n-2)-ig. Mivel azonban a belso ciklus elso lefutasakor a legnagyobb
elem a helyere kerult, így a masodik lefutaskor az utolso ellenorzest
nem kell elvegezni, igy a belso ciklus
0-tol (n-2-i)-ig megy (kezdetben i=0)
}
{$APPTYPE CONSOLE}
uses
SysUtils;
type
tomb = array of integer;
var
n: integer;
vektor: tomb;
procedure beolvas(var vektor: tomb; n: integer);
var i,szam: integer;
begin
for i:=0 to n-1 do
begin
write('A(z) ',i,'. elem: ');
readln(szam);
vektor:=szam;
end;
end;
procedure kiir(var vektor: tomb; n: integer);
var i: integer;
begin
writeln('A tomb elemei: ');
for i:=0 to n-1 do
begin
writeln('A(z) ',i,'. elem: ',vektor);
end;
end;
procedure rendez(var vektor: tomb; n: integer);
var i,j, k: integer;
begin
writeln('Rendezes...');
for i:=0 to n-2 do
begin
for j:=0 to n-2-i do
begin
if vektor[j] > vektor[j+1] then
begin
k:=vektor[j+1];
vektor[j+1]:=vektor[j];
vektor[j]:=k;
end;
end;
end;
end;
begin
write('Hany elemu legyen a tomb: ');
readln(n);
setlength(vektor, n); //dinamikus tomb hosszanak beallitasa
beolvas(vektor, n); //ertekadas a tomb elemeinek
//kiir(vektor, n);
writeln;
rendez(vektor, n); //a rendezes; a program lenyege
kiir(vektor, n); //a rendezett tomb kiirasa
readln;
end.
A program olyan értelemben jó, hogy lefut és megcsinálja, a kérdésem az lenne, hogy lehet e gyorsabban csinálni (még mindig buborékos rendezésnél maradva), vagy ez a max. , amit ki lehet hozni belőre. Egyáltalán ez a buborékos rendezés?
(nyilván a kérdésemmel kapcsolatban a ''rendez'' eljárás a lényeg a többi csak sallang)
szer.: ehh, az egészet dőlt betűsként írja ki, talán a copy&paste miatt?? Mind1.
[Szerkesztve]
Új hozzászólás Aktív témák
- VR topik (Oculus Rift, stb.)
- Luck Dragon: Asszociációs játék. :)
- PlayStation 5
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Eredeti játékok OFF topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Házi hangfal építés
- OpenMediaVault
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- Vadonatúj, bontatlan iPhone 17 256GB kék KÁRTYAFÜGGETLEN! 1 év Apple garancia!
- (Használt/Used) Huawei Mate 20 Pro - 128 GB - Midnight Blue (Unlocked/Kártyafüggetlen)
- Gigabyte B450M S2H + Ryzen 5 1400 + MSI GTX 1650 Super 4GB
- "Szinte Új" iPad Pro 12.9 (3. gen) + Apple Pencil 2 + Smart Folio tok
- ASUS TUF Gaming VG34VQL3A 34" Ívelt Gamer Monitor
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Új és újszerű 15-16 Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
- HP ProBook 430 G6 Celeron 4205U laptop
- 151 - Lenovo LOQ (15IAX9) - Intel Core i5-12450HX, RTX 4060
- Microsoft Surface Go 10.5" 8GB 128GB Pentium Gold 4415Y 1 év garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő



