字典结构及借助顺序表的实现

字典的ADT C++定义:

#ifndef DICADT_H
#define DICADT_H

template <typename Key, typename E>
class Dictionary{
private:
    void operator=(const Dictionary&){}
    Dictionary(const Dictionary&){}

public:
    Dictionary(){}
    virtual ~Dictionary(){}

    //初始化字典
    virtual void clear() = 0;

    //插入一条记录
    //k: 插入的key
    //e: 插入的record
    virtual void insert(const Key& k, const E& e) = 0;

    //删除并返回此记录
    //k: 将被删除的key
    //return: 一条匹配的记录。如果有多条记录匹配key,任意删除一条,没匹配记录则返回NULL
    virtual E remove(const Key& k) = 0;

    //任意删除一条记录
    //return: 返回被删除的记录,不存在返回NULL
    virtual E removeAny() = 0;

    //return:一条匹配k的记录
    //多条匹配则返回任意一条
    virtual E find(const Key& k) const = 0;

    //返回记录总数
    virtual int size() = 0;
};
#endif

键值对KVpair的实现

template <typename Key, typename E>
class KVpair{
private:
    Key k;
    E e;

public:
    //constructors
    KVpair
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值