Bubble Sort pls help

I have problems , I need to compare two values ​​the value entered first and the second value and make comparisons to sort the values ​​in increasing order with the bubble sort method in a queue dynamically linked but it is so difficult in C + + can someone help me?


My program:

main.cpp

#include <iostream>
#include <windows.h>
#include "Fila.h"

#define INSERE 1
#define IMPRIME 2
#define ORGANIZA 3
#define RETIRA 4
#define SAIR 5






int main()
{
int iOp, i, n, contador, tot;
contador = 0;
tot = 0;
FILA fila;
NO nos;

cout<< "\t\tBEM VINDO A FILA DINAMICA ENCADEADA BUBBLE SORT" << endl;





do{
cout<< "\n\n\n\n";
iOp = fila.MenuOpcoes();

switch (iOp)
{

case INSERE: cout<< "Digite quantos Elementos deseja inserir?"<<endl;
cin >> tot;
for( i=0; i<tot; i++)
{

cout<< "Digite o Elemento Numero " << i+1 <<endl;
cin >> n;
fila.Insere( n );
}

cout<< "Elementos Inseridos com Sucesso" << endl;
break;




case IMPRIME: cout << " Os Elementos Sao :." << endl;
fila.Imprime();

break;



case ORGANIZA: cout << " Organizando:." <<endl;
Sleep( 2500 );
fila.Organiza( tot);


break;


case RETIRA: cout << "Elemento foi Removido" << endl;
fila.Retira();
break;


case SAIR:
break;

default:

break;




}

} while( iOp != SAIR);

---------------------------------------------------------------------
fila.cpp

#include "Fila.h"

using namespace std;

FILA::FILA()
{
cabeca = NULL;
}

int FILA::MenuOpcoes()
{
int op;

cout<< "1. Insere Elemento:." <<endl;
cout<< "2. Imprime Elemento:." <<endl;
cout<< "3. Organiza Elemento:." <<endl;
cout<< "4. Remove Elemento:." <<endl;
cout<< "5. Sair:." <<endl;
cin>> op;
return ( op );

}

int FILA::Insere(int numero)
{
int retorno;
NO *percorre, *no;

no = new NO;

if (no == NULL)
{
retorno = CHEIA;
}
else
{

no->Set(numero);
if (cabeca == NULL)
{
no->SetProximo(cabeca);
cabeca = no;
retorno = OK;
}
else
{
for ( percorre = cabeca;((percorre->GetProximo()) != NULL);percorre = percorre->GetProximo());
percorre->SetProximo(no);
no->SetProximo(NULL);
retorno = OK;
}
}
return(retorno);
}

int FILA::Retira()
{
int retorno;
NO *no;
no = cabeca;

if (no == NULL)
{
retorno = VAZIA;
}
else
{
if (no->GetProximo() == NULL)
cabeca = NULL;
else
cabeca = no->GetProximo();
delete no;
retorno = OK;
}
return (retorno);
}


int FILA::Imprime()
{
int retorno;
NO *percorre, *no;
if (cabeca == NULL)
{
retorno = VAZIA;
}
else
{
if (cabeca->GetProximo() == NULL)
{
cout << cabeca->Get() << endl;
}
else
{
cout << "IMPRIMINDO FILA" << endl;
for ( percorre = cabeca;((percorre->GetProximo()) != NULL);percorre = percorre->GetProximo())
cout << percorre->Get() << endl;
cout << percorre->Get() << endl;
}
retorno = OK;
}
return(retorno);
}

-----------------------\/------------ this method have problems\/

void FILA::Organiza( int tot)
{
NO *percorre, *cabeca;
int i, j;

for( i = 0; i < tot; i++ )
{
for( j = i + 1; j < tot; j++ ) // sempre 1 elemento à frente
{
// se o (x > (x+1)) então o x passa pra frente (ordem crescente)
if( percorre->Get() > cabeca->GetProximo())
{
cabeca->Get() = percorre->Get();
percorre->Get() = teste->GetProximo();
teste->GetProximo() = cabeca->Get() ;
}

here is the great problem /\ /\ /\
lvalue required as left operand of assignment
lvalue required as left operand of assignment
lvalue required as left operand of assignment


}
} // fim da ordenação


}


----------------------------------------------------------------------

header fila.h

//Renata Yoko Guima
//Fila.h

#ifndef FILA_H
#define FILA_H

#include <iostream>
using namespace std;

#include "No.h"

//Estados
#define OK 0
#define VAZIA 1
#define CHEIA 2

class FILA{
NO *cabeca;
public:
FILA();
int MenuOpcoes();
int Insere(int numero);
int Retira();
int Imprime();
void Organiza(int tot);

};

#endif


--------------------------------------------

No.cpp

//Renata Yoko Guima
//No.cpp

#include "No.h"

NO::NO()
{
}

int NO::Get()
{
return(numero);
}

void NO::Set(int num)
{
numero = num;
}

void NO::SetProximo(NO *prox)
{
proximo = prox;
}

NO * NO::GetProximo()
{
return(proximo);
}

NO::~NO()
{
proximo = NULL;
}
----------------------------------------------------

header No.h

//Renata Yoko Guima
//no.h

#include <iostream>

#ifndef NO_H
#define NO_H

class NO{
int numero;
NO * proximo;
public:
NO();
int Get();
void Set(int num);
void SetProximo(NO *prox);
void Organiza( int tot);
NO * GetProximo();

~NO();
};

#endif

instead of Get...() functions left of = use the appropriate Set...() functions
Topic archived. No new replies allowed.