签到

06月21日
尚未签到

共有回帖数 0

    李小主任

    等级:
    排序:void pcbub(p,n)
     int n;
     char p[];
     { int m,k,j,i;
       char d;
       k=0; m=n-1;
       while (km)
         { j=m-1; m=0;
           for (i=k; i=j; i++)
             if (pp[i+1])
               { d=p; p=p[i+1]; p[i+1]=d; m=i;}
           j=k+1; k=0;
           for (i=m; i=j; i--)
             if (p[i-1]p)
               { d=p; p=p[i-1]; p[i-1]=d; k=i;}
         }
       return;
     }

    **************************************************
    void pchap(p,n)
     int n;
     char p[];
     { int i,mm;
       char t;
       void csift();
       mm=n/2;
       for (i=mm-1; i=0; i--)
         csift(p,i,n-1);
       for (i=n-1; i=1; i--)
         { t=p[0]; p[0]=p; p=t;
           csift(p,0,i-1);
         }
       return;
     }

     static void csift(p,i,n)
     int i,n;
     char p[];
     { int j;
       char t;
       t=p; j=2*(i+1)-1;
       while (j=n)
         { if ((jn)&&(p[j]p[j+1])) j=j+1;
           if (tp[j])
             { p=p[j]; i=j; j=2*(i+1)-1;}
           else j=n+1;
         }
       p=t;
       return;
     }
    void pckey(p,n,k,m)
    int n,k,m;
    HEAPSORT *p[];
    { int i,l;
    HEAPSORT *w;
    void pcsift();
    if (k0) k=0;
    if (mn-1) m=n-1;
    l=m-k+1;
    for (i=l/2-1; i=0; i--)
    pcsift(p,k,i,l);
    for (i=l-1; i=1; i--)
    { w=p[k]; p[k]=p[i+k]; p[i+k]=w;
    pcsift(p,k,0,i);
    }
    return;
    }

    static void pcsift(p,k,i,l)
    int i,l,k;
    HEAPSORT *p[];
    { int m,n;
    char t;
    HEAPSORT *w;
    t=(*p[i+k]).KEY; w=p[i+k]; n=2*(i+1)-1; m=i;
    while (n=l-1)
    { if ((nl-1)&&((*p[n+k]).KEY(*p[n+k+1]).KEY))
    n=n+1;
    if (t(*p[n+k]).KEY)
    { p[m+k]=p[n+k];
    m=n; n=2*(m+1)-1;
    }
    else n=l;
    }
    p[m+k]=w;
    return;
    }

    void pcqck(p,n)
    int n;
    char p[];
    { int m,i0,*i;
    char *s;
    void csplit();
    extern void pcbub();
    i=&i0;
    if (n10)
    { csplit(p,n,i);
    m=i0;
    pcqck(p,m);
    s=p+(i0+1);
    m=n-(i0+1);
    pcqck(s,m);
    }
    else pcbub(p,n);
    return;
    }

    static void csplit(p,n,m)
    int n,*m;
    char p[];
    { int i,j,k,l;
    char t;
    i=0; j=n-1;
    k=(i+j)/2;
    if ((p=p[j])&&(p[j]=p[k])) l=j;
    else if ((p=p[k])&&(p[k]=p[j])) l=k;
    else l=i;
    t=p[l]; p[l]=p;
    while (i!=j)
    { while ((ij)&&(p[j]=t)) j=j-1;
    if (ij)
    { p=p[j]; i=i+1;
    while ((ij)&&(p=t)) i=i+1;
    if (ij)
    { p[j]=p; j=j-1;}
    }
    }
    p=t; *m=i;
    return;
    }


    void pcshl(p,n)
    int n;
    char p[];
    { int k,j,i;
    char t;
    k=n/2;
    while (k0)
    { for (j=k; j=n-1; j++)
    { t=p[j]; i=j-k;
    while ((i=0)&&(pt))
    { p[i+k]=p; i=i-k;}
    p[i+k]=t;
    }
    k=k/2;
    }
    return;
    }

    


    插值:
    #include "math.h"
    double eeatk(x0,h,n,y,t,eps)
    int n;
    double t,eps,x0,h,y[];
    { int i,j,k,m,l;
    double z,xx[10],yy[10];
    z=0.0;
    if (n1) return(z);
    if (n==1) { z=y[0]; return(z);}
    m=10;
    if (mn) m=n;
    if (t=x0) k=1;
    else if (t=x0+(n-1)*h) k=n;
    else
    { k=1; j=n;
    while ((k-j!=1)&&(k-j!=-1))
    { l=(k+j)/2;
    if (tx0+(l-1)*h) j=l;
    else k=l;
    }
    if (fabs(t-(x0+(l-1)*h))fabs(t-(x0+(j-1)*h))) k=j;
    }
    j=1; l=0;
    for (i=1;i=m;i++)
    { k=k+j*l;
    if ((k1)||(kn))
    { l=l+1; j=-j; k=k+j*l;}
    xx[i-1]=x0+(k-1)*h; yy[i-1]=y[k-1];
    l=l+1; j=-j;
    }
    i=0;
    do
    { i=i+1; z=yy;
    for (j=0;j=i-1;j++)
    z=yy[j]+(t-xx[j])*(yy[j]-z)/(xx[j]-xx);
    yy=z;
    }
    while ((i!=m-1)&&(fabs(yy-yy[i-1])eps));
    return(z);
    }


    查找:
    int qbkey(p,n,a,b,m)
    int n,*m;
    BISERCH *p[];
    SERCHTYPE a,b;
    { int i,j,k;
    i=1; j=n;
    while (i=j)
    { k=(i+j)/2;
    if (((*p[k-1]).KEY=a)&&((*p[k-1]).KEY=b))
    { i=k-1; j=0;
    while ((i=0)&&((*p).KEY=a))  
    { i=i-1; j=j+1;}
    i=i+1;
    while ((k=n-1)&&((*p[k]).KEY=b))  
    { k=k+1; j=j+1;}
    *m=j; return(i);
    }
    if ((*p[k-1]).KEYb) j=k-1;
    else i=k+1;
    }
    while ((i=0)&&(b(*p).KEY)) i=i-1;
    i=i+1; *m=0;
    return(i);
    }


    产生随机函数:#include "math.h"
    double mgrn1(u,g,r)
    double u,g,*r;
    { int i,m;
    double s,w,v,t;
    s=65536.0; w=2053.0; v=13849.0;
    t=0.0;
    for (i=1; i=12; i++)
    { *r=(*r)*w+v; m=(int)(*r/s);
    *r=*r-m*s; t=t+(*r)/s;
    }
    t=u+g*(t-6.0);
    return(t);
    }
    汉字操作:
    #include "dos.h"
    #include "stdlib.h"
    #include "stdio.h"
    void taspl(num,row,col,color,xor,q,n,fp)
    FILE *fp;
    int num,row,col,color,xor,n;
    char q[];
    { int y,code,j;
    void chapl();
    j=0; y=col;
    while (jn)
    { code=q[j];
    chapl(num,row,y,code,color,xor,fp);
    y=y+8*(num+1); j=j+1;
    }
    return;
    }

    楼主 2016-02-19 08:23 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知