http://virtual-object.narod.ru
 
    Virtual Object :: Programs :: Сортировка методом Хоара
  Download
 
Наша кнопка
Сортировка методом Хоара
#include <fstream.h>
#include <stdlib.h>
int a[10001];
void sort(int l,int r)  
{                      
 int i,j,x,y,per;       
 i=l;                  
 j=r;
 x=a[l+random(r-l)];
 if (r-l<=4)
  {
   for(int i=1;i<=r-l+1;i++)
    for(int j=l;j<r;j++)
     if (a[j]>a[j+1])
      {
       per=a[j];
       a[j]=a[j+1];
       a[j+1]=per;
      }
  } else
  {
  do
  {
   while (a[i]<x) i++;  
   while (a[j]>x) j--; 
   if(i<=j)            
    {
     y=a[i];
     a[i]=a[j];
     a[j]=y;
     i++;
     j--;               
    }                   
  } while(i<=j);       
   if (l<j) sort(l,j);
   if (i<r) sort(i,r);   
  }
}                       
void main()
{
 int i,n;               
 ifstream cin;
 ofstream cout;
 cin.open ("input.txt",ios::in);
 cout.open ("output.txt",ios::out|ios::trunc);
  for (i=1;i<=10001;i++) a[i]=0; 
  cin >> n;
  for (i=1;i<=n;i++)      
  cin >> a[i];
  sort(1,n);             
  for (i=1;i<=n;i++)
  cout << a[i] << endl;
}
  JavaScript
  Animation
  Links
 
  Mail
 
 
 

Object © 2004 - 2005. All rights reserved.

 
Сайт создан в системе uCoz