Cod sursa(job #148055)
| Utilizator | Data | 3 martie 2008 21:05:22 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
void schimb(float x[],int i,int j)
{
float t=x[i];
x[j]=x[i];
x[i]=t;
}
int divizare(float x[],int p,int u)
{
int i=p,j=u;
while(i<j)
if(x[p]>x[j])
{
i++;
schimb(x,i,j);
}
else
j--;
schimb(x,p,i);
return i;
}
void sortrr(float x[],int p,int u)
{
if(p<u)
{
int k=divizare(x,p,u);
sortrr(x,p,k-1);
sortrr(x,k+1,u);
}
