簡單的哈希表映射試驗-創(chuàng)新互聯(lián)

對于很長的線性數(shù)據(jù)結(jié)構(gòu),進行搜索,可以用哈希表的方式。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比尖扎網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式尖扎網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋尖扎地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
#include <iostream>
#include <stdio.h>

using namespace std;

//數(shù)據(jù)類型
//注意:每一個數(shù)據(jù)節(jié)點,須綁定一個唯一的Key值
//這一點可以簡單理解為:如果是工人信息,可以使用工號;學(xué)生信息,可以用學(xué)號
//設(shè)備信息,可以用設(shè)備編號
struct info
{
    int id;
    char name[10];
};

info data[10]={0};//存儲數(shù)據(jù)

//存入數(shù)據(jù)
void SetData(int key,const info& value)
{
    int index = key % 10;//簡單的散列算法,此處沒有避免重復(fù)值
    data[index] = value;
}

//查找數(shù)據(jù)
info find(int key)
{
    int index = key % 10;
    return data[index];
}

int main(int argc, char* argv[])
{
    info a={1001,"張三"};
    SetData(a.id,a);

    info b={1002,"李四"};
    SetData(b.id,b);

    info c = find(1002);
    cout << c.id << ":" << c.name <<endl;

    //一般的數(shù)組查詢方法
    //    for(int i=0;i<10;i++)
    //    {
    //        if(data[i].id == 1002)
    //        {
    //            cout << c.id << ":" << c.name <<endl;
    //        }
    //    }

    getchar();
    return 0;
}

哈希表的優(yōu)勢在于查找時,一次命中目錄。而傳統(tǒng)的數(shù)組或鏈表查找,需要從頭到尾遍歷一次。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:簡單的哈希表映射試驗-創(chuàng)新互聯(lián)
標題來源:http://muchs.cn/article0/cocioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、外貿(mào)建站、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、虛擬主機、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化