ComputerZokuhlela

Ubuchule ku senkqubo yokuhlela: ukkhetho "kwiqamza"

bubble hlobo nje kuphela kuqwalaselwa ukuba indlela wakuzila, kaloku ke, ukuba ivale uluhlu yeendlela icotha lokuhlela. Nangona kunjalo, iye zalo eziluncedo. Ngenxa yoko, indlela yokuhlela kwiqamza - kakhulu ukuba asinguwo isisombululo zendalo ubhalo le ngxaki, xa ufuna ukwenza amalungiselelo izinto ngendlela ethile. Umntu oqhelekileyo ngesandla, umzekelo, iya kusebenzisa kwabo - nje nge intuition.

Uvelaphi igama engaqhelekanga onjalo?

igama Indlela wenyuka, esebenzisa isifaniso of amaqamza emanzini. Yinto isikweko. Kanye njengokuba amaqampu amancinane air kuvuka phezulu - kuba mninzi wabo mkhulu ulwelo (kulo mzekelo - amanzi), kunye elementi uluhlu nganye, i ezincinci oko ixabiso, ngendlela ecothayo encotsheni amanani kuluhlu.

Inkcazelo algorithm

bubble hlobo kwenziwa ngolu hlobo lulandelayo:

  • yokupasa lokuqala: iziqalelo ze amanani uluhlu ethatyathwa ngababini amabini kunye naye kuthelekiswa. Ukuba ezinye iimpawu eqela ixabiso lokuqala indoda-ezimbini mkhulu ngaphezu yesibini, le nkqubo yenza kubo iindawo exchange;
  • ngenxa yoko, inani omkhulu umkhumbula ekupheleni ziyakhele uluhlu. Nangona zonke ezinye izinto bahlala njengokuba babenjalo, ngendlela ingalawuleki kwaye zifuna ukulungiswa;
  • kwaye ngoko ke kufuna yokupasa yesibini: kokuba kwenziwe isivumelwano kunye lwangaphambili (sele ichaziwe) kwaye inani ngothelekiso - thabatha elinye;
  • kule nombolo sicatshulwa uthelekiso amathathu, omnye ngaphantsi kuneyesibini, baza ke bobabini, ngaphezu kuneyokuqala. Kwaye njalo-njalo;
  • zishwankathela ndima ngamnye (onke amaxabiso kwi uluhlu, inani ethile) thabatha (Inombolo sicatshulwa) uthelekiso.

algorithm Nokuba elifutshane inkqubo angabhalwa ngolu hlobo:

  • afanayo amanani ikhangelwe nje zifumaneka naziphi na amanani amabini, owesibini kubo ubotshiwe ukuba ibe ngaphezu yokuqala;
  • entle ngokungachanekanga ngokunxulumene nesebe ngalinye imiba segazi software uluhlu.

Pseudocode esekelwe algorithm echazwe

Ukuphunyezwa elula yenziwa ngolu hlobo lulandelayo:

Inkqubo Sortirovka_Puzirkom;

ekuqaleni

umjikelo for j ukusuka nachalnii_index ukuba konechii_index;

umjikelo ngokuba i ukusuka nachalnii_index ukuba konechii_index-1;

ukuba massiv [i]> massiv [i + 1] (Into yokuqala ngaphezu kokuba yesibini), ngoko:

(Utshintsho lubeka values);

ekupheleni

Kakade ke, lo lula aggravates kuphela meko: lilula algorithm, kokukhona kuziveza zonke iziphene. Investment ratio kwexesha inkulu kakhulu kwanokuba uluhlu elincinane (apha kuza kwezinto: Isixa ixesha ongenalwazi ingabonakala incinci, kodwa eneneni wenkqubo zonke izibalo yesibini okanye millisecond).

Kwathatha ukusebenza ngcono. Umzekelo, kuthathelwa ingqalelo utshintshiselwano lwamaxabiso iindawo uluhlu ku:

Inkqubo Sortirovka_Puzirkom;

ekuqaleni

sortirovka = oyinyaniso;

Umjikelo de sortirovka = oyinyaniso;

sortirovka = amanga;

umjikelo ngokuba i ukusuka nachalnii_index ukuba konechii_index-1;

ukuba massiv [i]> massiv [i + 1] (Into yokuqala ngaphezu kokuba yesibini), ngoko:

(Ukutshintsha iindawo izinto);

sortirovka = oyinyaniso; (Echongiweyo ukuba lonaniselwano lwenziwe).

End.

ukulinganiselwa

Eyona Ububi - ixesha le nkqubo. wenziwa njani ixesha elingakanani yokuhlela algorithm kwiqamza?

ixesha Lead ibalwa ukusuka kwinani amanani kwesikweri esimnyama uluhlu - nokuphela kwako kube umlinganiselo.

Ukuba ecaleni okubi uluhlu lidlule amaxesha amaninzi kangangoko ngayo izinto thabatha inani elinye. Oku kwenzeka ngenxa yokuba ekugqibeleni kukho into enye kuphela, akunanto ukuthelekisa, kwaye yokupasa yokugqibela ngokusebenzisa uluhlu uba amanyathelo engenamsebenzi.

Ukongeza, indlela ephumelelayo yokuhlela asilonaniselwano elula, njengoko ibizwa ngokuba, kuphela lens ubungakanani encinane. imali ezinkulu ze data encediswa nkqubo iya kusebenza: umphumo uya kuba nokuba imposiso okanye ukungaphumeleli kwale nkqubo.

isithunzi

bubble uhlobo Kulula kakhulu ukuba baqonde. Iikharityhulam iiyunivesithi zobugcisa ekufundeni eziqalelo udidi uluhlu yayo kwathi kwindawo yokuqala. Le ndlela lula ukuphumeza zombini Ugcino senkqubo yolwimi (L (Ugcino), kwaye C / C ++ (C / C plus plus), i amaxabiso kakhulu elula yendawo algorithm ngendlela ekunene kwaye Pascal (Pascal). Bubble uhlobo ilungele wabaqalayo.

Ngenxa iingxaki le algorithm lisusiwe iinjongo yezifundo.

Visual yokuhlela siseko

Kokuqala kwalo uluhlu 8 22 4 74 44 37 1 7

Inyathelo 1 8 22 4 74 44 37 1 7

8 22 4 74 44 1 37 7

8 22 4 74 1 44 37 7

8 22 4 1 74 44 37 7

8 22 1 4 74 44 37 7

8 1 22 4 74 44 37 7

1 8 22 4 74 44 37 7

Inyathelo 2 1 8 22 4 74 44 7 37

1 8 22 4 74 7 44 37

1 8 22 4 7 74 44 37

1 8 22 4 7 74 44 37

1 8 4 22 7 74 44 37

1 4 8 22 7 74 44 37

Inyathelo 3 1 4 8 22 7 74 37 44

1 4 8 22 7 37 74 44

1 4 8 22 7 37 74 44

1 4 8 7 22 37 74 44

1 4 7 8 22 37 74 44

Inyathelo 4 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Inyathelo 5 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Inyathelo 6 1 4 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Inyathelo 7 1 4 7 8 22 37 44 74

bubble uhlobo umzekelo Pascal

umzekelo:

kol_mas nengngqi = 10;

var massiv: uluhlu [1..kol_mas] of elipheleleyo;

a, b, k: elipheleleyo;

uqale

writeln ( 'igalelo', kol_mas, 'miba uluhlu');

ukuba: = 1 ukuya kol_mas ukwenza readln (massiv [a ]);

ukuba: = 1 ukuya kol_mas-1 beqala

ngokuba b: = a + 1 ukuya kol_mas akuqalwa

ukuba massiv [a]> massiv [ b] kuqale ke

k: = massiv [a]; massiv [a]: = massiv [ b]; massiv [b]: = k;

iphele;

iphele;

iphele;

writeln ( 'emva kokuba uhlobo');

ukuba: = 1 ukuya kol_mas ukwenza writeln (massiv [a ]);

ekupheleni.

UMZEKELO bubble yokuhlela ku C ngolwimi (C)

umzekelo:

#include

#include

int eziphambili (int argc, Isakare, * argv [])

{

int massiv [8] = {36, 697, 73, 82, 68, 12, 183, 88}, i, ff;

ngokuba (;;) {

ff = 0;

kuba (i = 7; i> 0; i -) {

ukuba (massiv [i] [i- 1]) {

swap (massiv [i], massiv [i- 1]);

ff ++;

}

}

ukuba (ff == 0) kuyaphula;

}

getch (); // ukubonisa ukulibaziseka

ukubuyela 0;

}.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 xh.birmiss.com. Theme powered by WordPress.