万能排序---冒泡法

来源:互联网 发布:淘宝公益宝贝有什么用 编辑:程序博客网 时间:2024/04/30 03:32

int campare(const void *a,const void *b)
{
 char *x=(char *)a;
 char *y=(char *)b;
// printf("*x-*y=%d\n",*x-*y);
 return *x-*y;

}
void swap(char *a,char *b,int size)
{
 char temp;
 if(*a!=*b)
 {
  while(size--)
  {
   temp=*a;
   *a++=*b;
   *b++=temp;
  
  }
 
 }


}

void pop(void *number,int nnumber,int size,int(*campar)(const void *,const void *) )
{
 int i,j;
 char *temp=(char *)malloc(size);
 for(i=0;i<nnumber;i++)
 {
  for(j=0;j<nnumber-i-1;j++)
  {
  // printf("%c\n",*((char *)number+j*size));
   if(campar((char *)number+j*size,(char *)number+(j+1)*size)>0)
   {
    swap((number+j*size),(number+(j+1)*size),size);
   }
  }
 }

}

0 0
原创粉丝点击