Vreo metoda de a sorta un numar natural fara a folosi vectori?
Răspunsuri la întrebare
Merge pentru numere care nu contin cifra 0 si numere de maxim 16 cifre
#include <iostream>
using namespace std;
long long remove(int min, long long n)
{
long long aux=0;
while (n!=0)
{
if(n%10!=min)
aux=aux*10+n%10;
n=n/10;
}
n=0;
while(aux!=0)
{
n= n*10+aux%10;
aux=aux/10;
}
return n;
}
int main() {
long long n, n_final=0;
cout<<"n=";
cin>>n;
while(n!=0)
{
long long aux=n;
int min=10,k=0;
while(aux!=0)
{
int mp=aux%10;
if(mp<min)
{
min = mp;
k=1;
}
else if(mp==min)
k++;
aux =aux/10;
}
for(int i=0; i<k; i++)
n_final = n_final*10+min;
n = remove(min,n);
}
cout<<"n_sort="<<n_final<<endl;
return 0;
}