当前位置:首页
开发技术指南» 文章正文
    引言:

 ·如何在程序里操作ftp    »显示摘要«
    摘要: 如何在程序里操作ftp,比如新建一个ftp帐户,给一个帐户建一个主目录什么的! 谢谢大侠指教! ......
 ·用vc生成dll的问题    »显示摘要«
    摘要: 用vc的向导生成的project后,编译出的dll文件含有.reloc节。 我为了缩小编译后dll的体积,没用向导,而是采用如下的编译参数 #pragma comment(linker,"/entry:dllentry") #pragma comment(linker,"/subsystem:windows") #pragma comment(li......


求哈希表的程序,100分求助

求哈希表的程序,要用链表实现的!谢谢,急用!

NO.1   作者: plainsong

typedef   struct   _Node  
  {  
      element_t   data;  
      struct   _Node*   next;  
  }Node,   *PNode;  
   
  typedef   unsigned(*hash_function_t)(element_t);  
   
  typedef   struct   _Hash  
  {  
      unsigned   size;  
      unsigned   element_count;  
      hash_function_t   function;      
      PNode*   elements;  
  }   Hash,   *PHash;  
   
  PHash   Hash_Create(unsigned   size,   hash_function_t   function)  
  {  
      PHash   Result;  
      Result   =   (PHash)malloc(sizeof(Hash));  
      Result   ->   size   =   size;  
      Result   ->   function   =   function;  
      Result   ->   element_count   =   0;  
      Result   ->   elements   =   (PNode*)calloc(sizeof(PNode)   *   size);  
  }  
   
  void   Hash_Add(PHash   hash,   element_t   element)  
  {  
      unsigned   key;  
      PNode   NewNode;  
      key   =   hash->function(element);  
      PNode   =   (PNode)malloc(sizeof(Node));  
      PNode   ->   next   =   ->elements[key];  
      PNode   ->   date   =   element;  
      hash->elements[key]   =   PNode;  
      hash->element_count   ++;  
  }  
   
  PNode   Hash_Find(PHash   hash,   element_t   element)  
  {  
      unsigned   key;  
      PNode   ANode;  
      key   =   hash->functon(element_t);  
      ANode   =   hash->elements[key];  
      while(ANode   !=   NULL   &&   ANode->data   !=   element)  
          ANode   =   ANode->next;  
      return   ANode;  
  }  
   
  void   Hash_Destroy(PHash   hash)  
  {  
      int   i;  
      PNode   ANode;  
      for   (i   =   0;i   <   hash->size;   i   ++)  
      {  
          while(hash->elements[i]   !=   NULL)  
          {  
              ANode   =   hash->elements[i];  
              hash->elements[i]   =   ANode->next;  
              free(ANode);  
          }  
      }  
      free(hash->elements);  
      free(hash);  
  }  
   
   
   
 


    摘要: 我有一网页文件index.html,想把它刻在光盘上, 一放入光盘,就自动打开index.html文件 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE