## 152 chars (without whitespaces)

<!-- language: lang-c -->

    void sort(float *v, int n) {
        int l=0;
        float t, *w=v, *z=v+(n-1)/2;
        
        if (n>0) {
          t=*v; *v=*z; *z=t;
          for(;++w<v+n;)
            if(*w<*v)
            {
           	  t=v[++l]; v[l]=*w; *w=t;
           	}
          t=*v; *v=v[l]; v[l]=t;
          sort(v, l);
          sort(v+l+1, n-l-1);
        }
    }