//+------------------------------------------------------------------+ //| sSortTest.mq5 | //| Integer | //| https://login.mql5.com/ru/users/Integer | //+------------------------------------------------------------------+ #property copyright "Integer" #property link "https://login.mql5.com/ru/users/Integer" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart(){ Alert("Начало"); int Size=1000000; double x0[]; double x1[]; ArrayResize(x0,Size); ArrayResize(x1,Size); long start; long t,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0,t7=0,t8=0; int Rounds=30; for(int j=0;j Круг "+IntegerToString(j+1)); for(int i=0;i Среднее:"); Alert("Hoare: "+IntegerToString(t5/Rounds)); Alert("ArraySort: "+IntegerToString(t8/Rounds)); Alert("Конец"); } //+------------------------------------------------------------------+ void SortSimpleUp(double & arr[]) { int n=ArraySize(arr); bool b=true; while (b) { b=false; for (int i=1; iarr[i]) { double tmp=arr[i]; arr[i]=arr[i-1]; arr[i-1]=tmp; b=true; } } } } void Check(double & aAr[]){ // Функция проверки, является ли массив отсортированным по возрастанию for(int i=ArraySize(aAr)-1;i>0;i--){ if(aAr[i]aLeft && xxxx)i++; while(j>aLeft && xx>aAr[j])j--; if(i<=j){ tmp=aAr[i]; aAr[i]=aAr[j]; aAr[j]=tmp; i++; j--; } } while(i<=j); if(aLeft=0 && tmp=0 && tmp>aAr[j];j-=g){ aAr[j+g]=aAr[j]; } aAr[j+g]=tmp; } } } void SortInsertUp(double & aAr[]){ double tmp; int i,j,Len=ArraySize(aAr); for(i=1;i=0 && tmp=0 && tmp>aAr[j];j--){ aAr[j+1]=aAr[j]; aAr[j]=tmp; } } } void SortSelectUp(double & aAr[]){ double tmp; int i,j,k; int Len=ArraySize(aAr); int Len1=Len-1; for(i=0;itmp){ k=j; tmp=aAr[j]; } } aAr[k]=aAr[i]; aAr[i]=tmp; } } void SortBubbleUp(double & aAr[]){ double tmp; int i,j; int Len=ArraySize(aAr); int Len1=Len-1; for(i=1;i=i;j--){ if(aAr[j-1]>aAr[j]){ tmp=aAr[j-1]; aAr[j-1]=aAr[j]; aAr[j]=tmp; } } } } void SortBubbleDn(double & aAr[]){ double tmp; int i,j; int Len=ArraySize(aAr); int Len1=Len-1; for(i=1;i=i;j--){ if(aAr[j-1]