CoimpiutaireanPrògramadh

Rèiteach dòighean-obrach ann am prògraman a tharraing à "builgean"

builgean-seòrsa nach eil e a-mhàin a mheas a bhith na bu luaithe dòigh, Os barr, tha e a 'dùnadh an duine as slaodaiche sa liosta de na dòighean a chur air dòigh. Ach, tha na buannachdan a. Mar so, an dòigh rèiteach builgean - as nach 'S e nàdarra agus loidsigeach fuasgladh air an duilgheadas, ma tha sibh airson a chur air dòigh sa sònraichte òrdugh. An duine àbhaisteach a làimh, mar eisimpleir, bidh e gan cleachdadh - dìreach le Intuition.

Far a bheil a leithid sin a rinn an t-ainm annasach?

Dòigh-ainm a thàinig suas, a 'cleachdadh an t-samhlachais adhair builgein ann an uisge. 'S e dealbh-cainnte. Dìreach mar a bheag adhair builgeanan ag èirigh os a cheann - oir tha an dùmhlachd nas motha na lionn (sa chùis seo - an t-uisge), agus gach eileamaid ordugh, nas lugha na tha e a 'cur luach air, na tuilleadh mean air mhean-slighe gu mullach an liosta-àireamhan.

Description an algairim

Deasaich builgean air a coileanadh mar a leanas:

  • chiad bhealaich: eileamaid den ordugh àireamhan a thogail le dà phaidhir agus cuideachd ann an coimeas. Ma tha cuid de na h-eileamaidean an dà sgioba a 'chiad fear-luach nas motha na an dàrna prògram gan dèanamh iomlaid àiteachan;
  • Mar sin, an àireamh as motha de ionndrainn deireadh an ordugh. Ged a bha a h-uile eileamaidean eile fhathast mar a bha iad, ann an dòigh coimeasgach, agus ag iarraidh tuilleadh rèiteach;
  • agus uime sin ma tha feum agaibh dàrna bhealaich: tha e air a dhèanamh le samhlachais le roimhe (air a mhìneachadh mar-thà) agus tha an àireamh de coimeasan - thoir aon;
  • aig trannsa uile trì coimeasan, aon na bu lugha na an dàrna, agus an dithis, na an toiseach. Agus mar sin air;
  • geàrr-chunntas gu bheil gach trannsa a tha (a h-uile luachan ann an ordugh, gu h-àraidh an àireamh) thoir air falbh (àireamh trannsa) choimeas.

Fiù 's na bu ghiorra algairim de phrògram Faodar a sgrìobhadh:

  • an ordugh àireamhan a sgrùdadh cho fad dà sam bith a tha àireamhan a lorg, an dàrna fear dhiubh a 'dol a bhith nas motha na an toiseach;
  • ceàrr air an suidheachadh a thaobh gach eileamaidean eile de ordugh bathar-bog swaps.

Pseudocode stèidhichte air an algairim air a mhìneachadh

Simplidhe a chur an gnìomh a dhèanamh mar a leanas:

Sortirovka_Puzirkom mhodh;

a 'tòiseachadh

airson rothaireachd j bho nachalnii_index gu konechii_index;

airson rothaireachd i bho nachalnii_index gu konechii_index-1;

ma massiv [i]> massiv [i + 1] (a 'chiad eileamaid nas motha na an dàrna), an uair sin:

(Atharrachadh a 'cur luachan);

deireadh

Gu dearbh, seo simplidheachd a-mhàin aggravates an t-suidheachadh: shìmplidh an algairim, nas e nochdadh a h-uile lochdan. Tasgadh co-mheas na h-ùine a tha ro mhòr airson fiù 's beag an ordugh (seo a' tighinn ann an relativity: Tha an ùine airson a 'layman dh'fhaodadh coltas beag, ach gu dearbh phrogramaiche gach dàrna no fiù' s a 'cunntadh millisecond).

Thug e na b 'fheàrr a chur an gnìomh. Mar eisimpleir, a 'gabhail a-steach a' dèanamh iomlaid air na luachan ann an ordugh Àiteachan:

Sortirovka_Puzirkom mhodh;

a 'tòiseachadh

sortirovka = fior;

cearcall gus an sortirovka = fior;

sortirovka = meallta;

airson rothaireachd i bho nachalnii_index gu konechii_index-1;

ma massiv [i]> massiv [i + 1] (a 'chiad eileamaid nas motha na an dàrna), an uair sin:

(Atharrachadh eileamaidean àiteachan);

sortirovka = fior; (A chomharrachadh gu bheil an iomlaid air a bhith air a dhèanamh).

End.

Crìochan

Tha a 'phrìomh anacothrom - rè a' phròiseas. Dè an ùine a tha a 'cluich rèiteach algairim builgean?

Prìomh àm a thomhas bho an àireamh de ceàrnagach àireamhan ann an ordugh - deireadh thoradh air co-roinneil a tha e.

Ma tha a 'chùis na bu mhiosa ordugh a thoirt seachad cho tric' sa tha eileamaidean thoir aon luach. Tha seo a 'tachairt a chionn ann an deireadh, tha dìreach aon eileamaid, a bheil dad gus coimeas a dhèanamh, agus mu dheireadh tro bhealaich an ordugh a' fàs gun fheum gnìomh.

A thuilleadh air sin, dòigh èifeachdach de rèiteach sìmplidh iomlaid, mar a tha e air a ghairm, ach airson arrays beaga meud. Suimean mòra de dàta le cuideachadh phròiseas chan obraich: thoradh bi an dàrna cuid mearachd no fàilligeadh a 'phrògram.

urram

builgean seòrsa e glè furasta a thuigsinn. Tha churraicealaman teicnigeach oilthighean ann an rannsachadh an rian eileamaidean a ordugh seachad anns a 'chiad àite. Tha an dòigh a tha furasta a chur an gnìomh an dà chuid an Delphi cànan prògramaidh (L (Delphi), agus C / C ++ (C / C plus plus), uabhasach sìmplidh luachan location algairim anns an òrdugh cheart, agus aig an Pascal (Pascal). Bubble seòrsa seo freagarrach do luchd-tòiseachaidh.

Air sgàth an drawbacks an algairim air a bheil nach chleachdadh ann extracurricular adhbharan.

Lèirsinne Seòrsachadh prionnsabal

Tha a 'chiad sealladh air a' ordugh 8 22 4 74 44 37 1 7

Ceum 1 8 22 4 74 44 37 1 7

8 22 4 74 37 7 44 1

8 22 4 74 1 44 37 7

8 22 4 1 74 44 37 7

1 8 22 4 74 44 37 7

1 8 22 4 74 44 37 7

1 8 22 4 74 44 37 7

Ceum 8 22 2 1 4 74 44 7 37

1 8 22 4 74 44 7 37

1 8 22 4 74 44 7 37

1 8 22 4 74 44 7 37

1 8 22 4 74 44 7 37

1 4 7 8 22 74 44 37

Ceum 3 1 4 7 8 22 74 37 44

1 4 7 8 22 37 74 44

1 4 7 8 22 37 74 44

1 4 7 8 22 37 74 44

1 4 7 8 22 37 74 44

Ceum 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

Ceum 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

Ceum 1 4 6 7 8 22 37 44 74

1 4 7 8 22 37 44 74

Ceum 7 1 4 7 8 22 37 44 74

builgean seòrsa eisimpleir ann an Pascal

Mar eisimpleir:

const kol_mas = 10;

var massiv: ordugh [1..kol_mas] de integer;

a, b, k: integer;

a 'tòiseachadh

writeln ( 'cur a-steach', kol_mas, 'eileamaidean an ordugh');

airson: = 1 gu kol_mas dhèanamh readln (massiv [a ]);

airson: = 1 gu kol_mas-1 dhèanamh rithist

b airson: = a + 1 gu kol_mas a bhios a 'tòiseachadh

ma massiv [a]> massiv [ b] an uair sin a 'tòiseachadh

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

crìch;

crìch;

crìch;

writeln ( 'an dèidh seòrsa');

airson: = 1 gu kol_mas dhèanamh writeln (massiv [a ]);

deireadh.

EISIMPLEIR builgean rèiteach ann an cànan C (C)

Mar eisimpleir:

#include

#include

int phrìomh (int argc, Char * argv [])

{

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

do (;;) {

FF = 0;

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

ma (massiv [i] [I- 1]) {

suaipeadh (massiv [i], massiv [I- 1]);

FF ++;

}

}

ma (FF == 0) a bhriseadh;

}

getch (); // taisbeanadh dàil

0 till;

}.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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