一阵风

宠辱不惊 闲看庭前花开花落 去留无意 漫随天上云卷云舒

散列表

/***************************
 *文件名:hash.cpp
 *功能:散列表
 *创建日期:2007-9-27
**************************
*/


#include 
<iostream>
using namespace std;

const int m = 11;

int h(int k, int i)
{
    
return (k % m + i) % m;
}


int Insert_hash(int ar[], int k)
{
    
int i, j;

    i 
= 0;
    
while( i < m )
    
{
        j 
= h(k, i);
        
if(ar[j] == -1)
        
{
            ar[j] 
= k;
            
return j;            
        }

        
else
            
++i;
    }

    
    
return -1;
}


void print(int a[], int n)
{
    
int *= a + n;  // b = a + 4 * n; 因为一个int占四个字节长度
    cout << *<< ' ';
    
while++!= b )
        cout 
<< *<< ' ';
}


// 初始化函数,将数组 a中元素初始化为v, n 为数组大小
void Init(int a[],int n, int v)
{
    
int *= a + n;

    
*= v;
    
while++!= b )
        
*= v;
}


int main()
{
    
int s[] = 10223141528178859 };
    cout 
<< "s : ";
    print( s, 
sizeof(s) / sizeof(s[0]) );
    cout 
<< endl;

    
int hashtable[m];
    Init(hashtable, 
sizeof(hashtable) / sizeof(hashtable[0]), -1);

    
for(int i = 0; i < sizeof(s) / sizeof(s[0]); i++)
        Insert_hash(hashtable, s[i]);

    cout 
<< "hashtable : ";
    print( hashtable, 
sizeof(hashtable) / sizeof(hashtable[0]) );
    cout 
<< endl;

    
return 0;

}
 
阅读更多
文章标签: iostream insert
个人分类: 算法 C / C++
上一篇二叉搜索树实现与测试
下一篇大数类程序(zz)
想对作者说点什么? 我来说一句

散列表---算法数据结构

2009年07月05日 68KB 下载

没有更多推荐了,返回首页

关闭
关闭