SALVE FORUM
Come implemento questi pseudocidici degli algoritmi di selectionSort, insetionSort e bubbleSort sul programma che ho postato? mettiamo che io voglia ordinare la lista. Mi serve vedere proprio l'implementazione dell'ordinamento aggiunta a questo programma.
pseudocodici:
SELECTION SORT(array A):
for k=0 to n-2 do
m <- k+1
for j=k+2 to n do
if(A[j]<A[m]) then m <- j
scambia A[m] con A[K+1]
INSERTION SORT(array A):
for k=1 to n-1 do
x<-A[k+1]
for j=1 to k+1 do
if(A[j]>x)then break
if(j<K+1)then
for t=k downto j do A[t+1] <- A[t]
A[j] <- x
BUBBLE SORT(array A):
for i=1 to (n-1)
for j=2 to (n-i+1)
if(A[j-1]>A[j])then scambia A[j-1] e A[j]
if(non ci sono stati scambi)then break
-----------------------------------------------------
PROGRAMMA LISTA LINKATA
#include <iostream>
using namespace std;
class lista
{
private:
int numero;
lista *successivo;
public:
lista();
void set(int num) {numero = num;};
int get() {return numero;};
void pointTo(lista *point) {successivo = point;};
lista *getnext(){return successivo;};
};
void inserisci(int num);
void visualizza();
lista *start;
lista *nuovo;
lista *ultimo;
lista::lista()
{
numero = 0;
successivo = NULL;
}
int main()
{
int scelta, num;
do
{
cout << "################## LISTA LINKATA ####################\n\n\n";
cout << "Inserisci il numero che corrisponde all'operazione che vuoi compiere: \n\n\n";
cout << "Se vuoi inserire un elemento premi 1\n\n";
cout << "Se vuoi visualizzare gli elementi inseriti premi 2\n\n";
cout << "Se vuoi uscire premi 3\n\n\n";
cout << "Digita la tua scelta-> ";
cin >> scelta;
switch(scelta)
{
case 1:
nuovo = new lista;
cout << "\n\nInserisci il numero-> ";
cin >> num;
inserisci(num);
system ("pause");
system ("cls");
break;
case 2:
visualizza();
system ("pause");
system ("cls");
break;
default:
cout << "\nINSERISCI UN VALORE CORRETTO\n\n";
break;
}
}while(scelta != 3);
return 0;
}
void inserisci (int num)
{
nuovo = new lista;
nuovo->set(num);
if (start == NULL)
start = nuovo;
else
ultimo->pointTo(nuovo);
ultimo = nuovo;
}
void visualizza ()
{
if (start== NULL)
cout << "\n\n\nNon ci sono elementi da visualizzare\n\n\n";
else
{
nuovo = start;
cout << "\n\nElementi inseriti:\n\n";
do
{
cout << "\n\n "<< nuovo->get( )<<"\n\n";
nuovo= nuovo->getnext( );
}while ( nuovo!= NULL);
};
}
grazieeeee