Þar sem ég hef fengið svona gríðarlega flott og góð viðbrögð við greinum mínum um Modulus, kallaður nörd, niðurlægður af stærðfræðingi, einhver snillingurinn kom með betri aðferð til að finna út hvort tala sé slétt eða ekki, og þetta bara í einhverjum 3 til 4 álitum, þá get ég ekki skorast undan því að koma með fleiri greinar.

Nú ætla að fjalla um nokkrar þekktar aðferðir til að “sorta” gögn sem við erum að vinna með. Það eru þekktir þó nokkrir mismunandi algorithmar til þess. Ég ætla að gera eina grein fyrir hvern algoritma og já, til þess að safna stigum auðvitað 

Nú er það Bubble Sort, þetta er einfaldasti algorithmi sem er þekktur til að sortera array. Hann byggir á þeirri einföldu hugmynd að fara í gegnum allann array-inn og bera saman tvær og tvær færslur. Í fyrsta “steppi” er borið saman færlsa 1 og 2, ef færsla 1 hefur hærra gildi þá látum við þesar færslur skipta um sæti, annars breytum við engu. Næsta “steppi” berum við saman færslu 2 og 3 og látum skiptast á sætum ef þess þarf. Svona förum við í gegnum allann array-inn. En það er ekki alveg nóg, til að fullkomna verkið þá rúllum við í gegnum array-inn eins oft og það eru margar færslur í honum.

Nú kemur smá kóðabútur sem sorterar integer array, gefum okkur að array-inn innihaldi 10 integer breytur.

for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10 - 1; j++)
{
// Ef tala í sæti j er hærri en í næsta sæti
if (iarrTolur[j] > iarrTolur[j + 1])
{
// Þá láta þær skipta um sæti.
int iTmp = iarrTolur[j];
iarrTolur[j] = iarrTolur[j + 1];
iarrTolur[j + 1] = iTmp;
}
{
}

Eins og sést þá er þetta býsna einfaldur algorithmi, en hann þarf ekki að vera slæmur fyrir það. Hann gerir það sem honum er ætlað, en hann er kannski ekkert rosalega fljótur að því. Þess vegna er betra að nota hann ekki á of mikið magn af gögnum.

Ég sendi inn í kóðahornið lítinn bút til að sýna þetta, það er reyndar gert í visual c++.net en main.cpp ætti að virka hjá öllum allavega þó project skráin geri það kannski ekki.

Svona að lokum má kannski benda á að nafið Bubble Sort er tilkomið vegna þess að sortunin líkist mikið loftbólum (eins og í kóki t.d.) að leita upp, það er að segja, gögnin renna upp og niður array-inn þangað til þau eru komin þar sem þau eiga heima.

(hugarar, fyrirgef oss vorar skuldir, svo sem vér og mínum stigum safna)