Scripts: sSortTest

 

sSortTest:

O script contém vários métodos de classificação para ordenar a array double[]

Fig. 1. Ordenando a execução dos algoritmos

Autor: Dmitry Fedoseev

 

Até o momento, aparece o erro 404 ao tentar fazer o download ou visualizar o script.

 
retirado experimentalmente :)
Arquivos anexados:
sSortTest.mq5  24 kb
 

e não vi esse algoritmo padrão:

void SortUp() 
{
  int n=ArraySize(arr);
  bool b=true;
  while (b)
  {
    b=false;
    for (int i=1; i<n; i++)
    {
      if (arr[i-1]>arr[i]) { double tmp=arr[i]; arr[i]=arr[i-1]; arr[i-1]=tmp; b=true; }
    }
  }
}
qual é o análogo para ele nessa biblioteca?
 
sergeev:

e não vi esse algoritmo padrão:

qual é o análogo dele nessa biblioteca?
Portanto, esse algoritmo foi transformado em uma "bolha" mais eficiente, em que, para cada ciclo, o valor de N diminui em 1.
 
sergeev:

e não vi esse algoritmo padrão:

qual é o análogo para ele nessa biblioteca?
Não existe um análogo. Eu o adicionei e o chamei de Simple. Ele é bastante lento.
Arquivos anexados:
 
  1. Que lugar o ArraySort padrão ocupa na lista?
  2. Eu gostaria de ter em MQL5 uma função padrão universal para classificar matrizes de qualquer tipo por qualquer condição (como é feito em C++ e similares). Infelizmente, a falta de ponteiros na MQL5 dificulta a criação dessa função.
 

Comparação entre Hoare e ArraySort

Arquivos anexados:
 

Está tudo junto aqui.

Arquivos anexados:
 

Colegas, sugiro (para artigos futuros) que gravem vídeos adicionais, pois, em minha opinião, será muito mais claro do que ler.

exemplo


Bem, ou pelo menos invejar o título vídeo de programação interessante, por analogia com o vídeo financeiro interessante... pois, de alguma forma, não será racional colocar tudo em uma única pilha, como neste vídeo....