Member 13616463 Ответов: 1

Что это за сорт такой ?


 int x[] = { 123 , 999 , 456 , 3432 , 12 , 43 , 9 , 67 , 9000 , 12345 , 45678 , 789 , 765 , 321 } ;
    
int x1[] = { 123 , 999 , 456 , 3432 , 12 , 43 , 9 , 67 , 9000 , 12345 , 45678 , 789 , 765 , 321 } ;

  for ( int i=0 ; i<=4 ; i++ ) 
    {
      int c=0  ; 

     for ( int k=0  ; k<10 ;k++)
      {
      for ( int a=0 ; a<x.length ; a++ )
      {
          if ( ( x1[a] / ( (int)( Math.pow(10,i) ) ) ) %10 == k ) 
          {        
   
             x[c] = x1[a] ;                  

 System.out.println(x[c] + "      " + c );                
           c++ ;  
          }                                     
        }
      
      }
    
     for ( int u=0 ; u<x1.length  ; u++ )
    {
      x1[u] = x[u] ;       
    }

    }


Что я уже пробовал:

Я пытался реализовать сортировку по радиксу и закончил с этим с первой попытки . Я удалил временный массив, так как он не требуется, когда я тщательно проверил . Является ли это хорошим алгоритмом и что это за вид ?

1 Ответов

Рейтинг:
1

Patrice T

Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

int x[] = { 123 , 999 , 456 , 3432 , 12 , 43 , 9 , 67 , 9000 , 12345 , 45678 , 789 , 765 , 321 } ;
int x1[] = { 123 , 999 , 456 , 3432 , 12 , 43 , 9 , 67 , 9000 , 12345 , 45678 , 789 , 765 , 321 } ;
for ( int i=0 ; i<=4 ; i++ )
{
  int c=0  ;
  for ( int k=0  ; k<10 ;k++)
  {
    for ( int a=0 ; a<x.length ; a++ )
    {
      if ( ( x1[a] / ( (int)( Math.pow(10,i) ) ) ) %10 == k )
      {
        x[c] = x1[a] ;
        System.out.println(x[c] + "      " + c );
        c++ ;
      }
    }
  }
  for ( int u=0 ; u<x1.length  ; u++ )
  {
    x1[u] = x[u] ;
  }
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]
Цитата:
Является ли это хорошим алгоритмом и что это за вид ?

Это похоже на сортировку радикса, но очень неэффективно.