seguinte eu fiz um algoritmo de ordenação e a ideia
era eliminar as tartarugas ou seja colocar os maiores elementos para o topo do array e os menores no começo o i vai até metade e o j q começa do fim vai até a metade e ai faz se éssa troca depois quando o i for igual ao j usar o insertion sort q é o mais eficaz para arrays q já estão levemente ordenados.
axo q foi mais uma tentativa de melhora o insertion sort
Queria que vocês desses uma avaliada pra ver se ta legal ou não é eficaz.
valeu!
Até batizei o nome aheauie
Código:
#include <iostream>
#include <cstdlib>
using namespace std;
/* Algoritmos de ordenação:
6.Invertion Sort(ordenação de inversão)
Autor:Rômulo*/
int main()
{
const int t=10;
int i, j, aux, v[t],key;
cout<<"Digite "<<t<<" numeros:"<<endl;
for(i=0; i<t; i++)
cin>>v[i];
system("CLS");
for(i=0; i<=t/2; i++)
for(j=t-1;j>=t/2;j--)
{
if(i==j)
//insertion sort
{
for(int j=1; j<t; j++)
{
key=v[j];
i=j-1;
while(i>=0 && v[i]>key)
{
v[i+1]=v[i];
i-=1;
}
v[i+1]=key;
}
break;
}
else if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
cout<<"Algoritmo ordenado:"<<endl;
for(i=0; i<t; i++)
cout <<v[i]<<endl;
system("PAUSE");
return 0;
}
Pergunta
Rômulo_SD
Dai galera
seguinte eu fiz um algoritmo de ordenação e a ideia
era eliminar as tartarugas ou seja colocar os maiores elementos para o topo do array e os menores no começo o i vai até metade e o j q começa do fim vai até a metade e ai faz se éssa troca depois quando o i for igual ao j usar o insertion sort q é o mais eficaz para arrays q já estão levemente ordenados.
axo q foi mais uma tentativa de melhora o insertion sort
Queria que vocês desses uma avaliada pra ver se ta legal ou não é eficaz.
valeu!
Editado por Rômulo_SDLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.