1. Am de făcut un portofoliu la informatică,si am făcut până acum câteva programe,insă as avea nevoie dacă se poate de urm programe :
a) MinMaxSort doar cu cilul for,si separat doar cu ciclul while.
b)Bubble Sort doar cu ciclul while.
c)MergeSort doar cu ciclul while si separat cu ciclcul for.
d) HeapSort doar cu ciclul while,si separat cu ciclul for.
Dacă are cineva vreun program,sau măcar o idee,vă rog.Vă multumesc mult de tot.
Acesti algoritmi sunt clasici, au fost creati acum cativa (zeci) de ani de catre niste oameni geniali, ii gasesti la tot pasul pe net, trebuie doar sa scrii pe google. Acele modificari le poti aduce atunci cand stii mecanismul cu care lucreaza fiecare.
Da,eu lucrez in biblioteca <iostream> si se folosesc caractere speciale. Am cautat si pe net,dar acolo sunt facute in alte biblioteci si este cam greu sa transform limbajul.Multumesc oricum.
Sunt facute si in C++ sau in pseudocod. De exemplu aici: . E si in C++ si in pseudocod. Ideea nu e sa dai copy/paste la algoritm si sa il pui in portofoliu, ci sa intelegi cum lucreaza. Your choice!
Multumesc mult de tot.
In C++ poti folosi STL(standard template library). In bibloioteca <algorithm> e functia sort(a,a+n,cmp), unde ‘a’ e pointerul spre inceputul vectorului, a+n e pointerul spre sfarsitul vectorului(asta daca vectorul il incepi de la 0), iar cmp e o functie booleana pe care o creezi ca sa sortezi elementele crescator sau descrescator, iar complexitatea algoritmului e cel mult O(nlogn), in cel mai rau caz.
Mai multe detalii vezi pe http://www.cplusplus.com/
Exista si un sort(a,a+n) tot acolo… care face implicit ordonare crescatoare fara sa-i mai dai u functia cmp… e un IntroSort pe care ai zis bine … cel mai rau caz O(N*logN)