【编程范式】C语言1

 

  最近在网易公开课上看斯坦福大学的《编程范式》,外国人讲课思路就是清晰,上了几节课,感觉难度确实比我们普通大学大很多,但是却很有趣,让人能边学边想。  

  范式编程,交换两个数,利用 void * 

     void Swap (void * lhs,void * rhs,int size)

  {

     void * temp = malloc(sizeof(size));

     memmove(temp,lhs,sizeof(size));

     memmove(lhs,rhs,sizeof(size));

     memmove(rhs,temp,sizeof(size));

    free(temp);

    temp = NULL;

  }

 

    查找数组中的元素 

    void * Search(void * key,void *arr,int arrCount,int size,int (*Compare)(void *lhs,void *rhs))

 {

    void * temp = (char *) arr+i*size;

    for(int i=0;i<arrCount;i++)

    {

      if(Compare(key,temp)==0)

                    return temp;

    }

           return NULL;

   }

  int IntCompare(void *lhs,void *rhs)

  {

    int * plhs = (int *) lhs;

    int * prhs = (int *) rhs;

    return *plhs - *prhs;

  }

    ……

posted @ 2015-03-17 10:00  Vivu  阅读(580)  评论(0编辑  收藏  举报