Šodien rakstot kārtējo kodu gabalu nonācu līdz situācijai, kad bija jāsakārto masīvu, vadoties pēc kādas noteiktas tā vērtības. Pirmajā minūtē pat nevarēju iedomāties kā lai to izdara. Protams, pēc vēl minūtes apjukums bija pazudis un kods uztapa. Secināju, ka vajadzētu atkārtot klasiskos algoritmus. Ievadu esmu devis. Tagad pats uzdevums. Jums arī piedāvāju uzrakstīt sortēšanas kodu. Lai būtu interesantāk – visas atbildes tiks turētas moderēšanas režīmā 2 dienas. Tas tā – lai citi nešpiko. Pēc šī laika atbildes aktivizēšu. Interesanti būtu redzēt – vai citi izmantotu to pašu algoritmu kuru es – vai pavisam kaut ko citu. Protams, savus variantus var rakstīt arī tie, kas programmē citās valodās, jo uzsvars ir nevis uz konkrētu valodu, bet algoritmu. Un jā – nav arī jēgas tagad atvērt kādu manuāli un uzrakstīt algoritmu. Rakstiet tā kā varat izdomāt.

Tātad uzdevums. Ir dots masīvs ar nenoteiktu skaitu elementu. Indeksi ir no 0 līdz X, pieaugot pa 1. Vērtības ir masīvi. Šiem vērtību masīviem viens no indeksiem ir ‘value’, savukārt vērtība pie attiecīgā indeksa ir Y. Y ir kaut kāds pozitīvs skaitlis.
Piemērs diviem no iespējamajiem veidojumiem:

$data[0]['value'] = 12;
$data[0]['title'] = 'Some title';
$data[1]['value'] = 43.3;
$data[1]['title'] = 'Some title2';

Masīvu ir jāsakārto tā, lai ['value'] lauki būtu dilstošā secībā. Tātad piemērā $data[0] vērtība ir jāapmaina vietām ar $data[1] vērtību. Pēc sortēšanas nedrīkst būt pazuduši kādi no masīva uzbūves noteikumos iekļautajiem ierobežojumiem. Piemēram, $data masīva indeksiem joprojām jābūt no 0 un pieaugošiem pa 1.

Ja gadījumā galīgi nav skaidrs uzdevums – sakiet par to komentāros – mēģināšu paskaidrot.