Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Web10

Ordenação Pilha C++

Recommended Posts

Ola pessoal, estou iniciando no c++, tenho essa metodo que organizar em bolha os dados vindo do txt gostaria de saber como faço para organizar em pilha??

segue o codigo

private: System::Void OrganizaBolha()
	 {

		 Registro *registros = new Registro[dataGridView1->Rows->Count];


		 for(int i = 0; i < dataGridView1->Rows->Count; i++)
		 {
			 Registro reg;

			 String^ sCodigo = dataGridView1->Rows[i]->Cells[0]->Value->ToString();
			 String^ sNome = dataGridView1->Rows[i]->Cells[1]->Value->ToString();
			 String^ sData = dataGridView1->Rows[i]->Cells[2]->Value->ToString();

			 for(int j = 0; j < 12; j++)
			 {
				 reg.Codigo[j] = sCodigo[j];
			 }

			 for(int j = 0; j < 44; j++)
			 {
				 reg.Nome[j] = sNome[j];
			 }

			 for(int j = 0; j < 5; j++)
			 {
				 reg.Data[j] = sData[j];
			 }

			 registros[i] = reg;
		 }			 



		 Registro TMPs; 

		for(int i = 0; i < dataGridView1->Rows->Count; i++) { 

			for(int j = 0; j < dataGridView1->Rows->Count - i - 1; j++) { 

				if (strcmp(registros[j].Codigo, registros[j + 1].Codigo) > 0) { 
					TMPs = registros[j + 1]; 
					registros[j + 1] = registros[j]; 
					registros[j] = TMPs;
				}
			}
		}

		int qtd = dataGridView1->Rows->Count;

		dataGridView1->Rows->Clear();

		array<String ^> ^ ColVals = gcnew array<String ^>(3);


		for(int i = 0; i < qtd; i++) {

			String^ sCodigo; 
			sCodigo = ""; 
			for(int Pos = 0; Pos < 12; Pos++) {
				wchar_t Letra = registros[i].Codigo[Pos]; 
				sCodigo += Letra;
			}

			String^ sNome; 
			sNome = ""; 
			for(int Pos = 0; Pos < 44; Pos++){ 
				wchar_t Letra = registros[i].Nome[Pos]; 
				sNome += Letra;
			}

			String^ sData;
			sData = ""; 
			for(int Pos = 0; Pos < 5; Pos++) {
				wchar_t Letra = registros[i].Data[Pos];
				sData += Letra;
			}

			ColVals[0] = sCodigo;
			ColVals[1] = sNome; 
			ColVals[2] = sData;

			dataGridView1->Rows->Add(ColVals);
		}
	 }


Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago Web10,

 

Você está confundindo as coisas. O método da bolha é algorítmo de ordenação de dados e Pilha (ou LIFO) é uma estrutura de dados. Não existe ordenção em pilha, pilha é uma forma de armazenar os dados.

 

Segue alguns Links que ajudarão a entender as Pilhas:

http://www.vivaolinux.com.br/script/Pilha-algoritmos-push-pop-e-imprimir-explicados

http://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/Pilhas

http://pt.kioskea.net/faq/10218-as-pilhas-em-linguagem-c

 

Para tirar a dúvidas, Ordenação em Bolha (Buble Sort):

http://pt.wikipedia.org/wiki/Bubble_sort

http://codigofonte.uol.com.br/codigos/codigo.asp?categoria=outras-linguagens&subcategoria=c-cpp&codigo=metodo-bolha-[bubble-sort]&aux=&7

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.