问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构中有这么一句定义结点Node<DataType> *next; 尖括号里的DataType是什么意思啊!

发布网友 发布时间:2023-07-13 21:46

我来回答

1个回答

热心网友 时间:2023-09-20 14:31

Node是类模板,DataType 是自定义的类型或者类型别名,直观起见,我给了一个实例,作为参考。

typedef int DataType;
template<class T>
class Node
{
public:
    T data;
    ...
};

int main (void) {
    Node<DataType> node; // DataType 是 int 型,这样类 Node 的成员 data 就是 int 型
    ...
}

追问template ;
struct Node
{
Datatype date;
Node *next;
};

那如果是这样定义,Node *next;中的DataType起到什么作用呢?

追答

之前说 Node 是一个类模板,这个不准确,应该是一个自定义类型的模板(可以是类,也可以是结构体)。

定义模板的目的是节约代码量,比如如下的代码:

template<typename DataType> // typename 和 class 可以互换
                            // DataType 是一个自定义的类型名,可以随意指定。
struct Node
{
    Datatype date;
    Node<DataType> *next; // DataType 就是传递类型参数的意思
};

如果想将 date 指定为整型/浮点型,则将 DataType 指定为 int/float 即可

Node<int> node;
Node<float> node;

Node<int> 和 Node<float> 其实是两个结构体:

struct Node1
{
    int date;
    Node1 *next;
};

struct Node2
{
    float date;
    Node2 *next;
};

这样定义明显不如使用模板来的简单,只要定义一个模板,直接替换 DataType 就可以定义两个结构体了,显然会节省代码。另外 DateType 可以指定为任意的类型。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
路由器网线一米多少钱 东芝电视怎么投屏安卓手机 东芝电视怎么投屏 东芝电视投屏功能在哪里 指甲根部半月白 ...在指甲中部黑线长起 还有就是月牙上有白色一块 都在同一个指_百度... 我农业银行五年定期无密码存款,身份证没了,仅凭身份证复印件和存款单... 混凝土强度回弹怎么测算推定值,是否满足要求?一篇文章讲明白_百度知 ... 发动机舱有胶皮味跟安装防盗器有关系吗 cb400f启动后有股胶皮味道 一个袋子装了半袋米,倒出三分之一多1千克后还剩19千克... 怎样区分好人和坏人? 你知道goodbye是怎么来的吗 用英语介绍古典音乐的特点 用英语介绍民间音乐的特点 100&#x223C;200个单词 goodbye和good bye和good–bye三种写法都正确吗? 迅捷路由器fwr200 v2 没有升级程序吗? 恋爱中,为什么女人总问“爱不爱我”? 为什么离婚后,我选择一个人过,上街看到别人情侣,夫妻,有孩子的,就怎么难过呢? 女生唯独对我一个人冷淡,我和我的好哥们都和她是朋友,可她对我就和他们不一样对我忽冷忽热,为什么啊? 我对女生说今天是520祝你节日快乐!她没回我,然后她把头像换成动漫情侣头像的女生头像。她是啥意思? 和男友吵过一次架他就记仇不怎么理我了,我都服了,哪一对情侣不吵架,问题是人家吵架对象就会? 刚才做了个梦,梦见了我自己和一个陌生女人我俩好像是情侣,还有一对陌生情侣,还有情书和桥 一只手机号注册了两个,想要注销一个怎么注销? 一个号码注册了两个,怎么注销另一个? 龙男羊女婚配幸福指数,79年属羊女和76年属龙男相配吗有好的未来吗幸福 一个号码注册了两个,怎么注销另一个? 一只手机号注册了两个,想要注销一个怎么注销? 如何让BIM更加受欢迎 两个一百年奋斗目标指的是 梦见嘴里扎刺的预兆 二叉树遍历算法中 开始的类模板格式有点不懂 void BiTree&lt;DataType&gt;::preOrder(BiNode&lt;DataType&gt; * bt) 公司辞退员工不让上班合法吗 暗恋一个人几年的,如何表白 如果你暗恋一个男生, 结果消息传到他耳朵里, 怎么办? 和暗恋的男生聊天,我发个龇牙的笑脸,他回了个嗯!,这个嗯加个感叹号,什么意思 do you like strawberry Do you like strawberrys?这句话哪里错了 doyoulikestrawberries作肯定回答 剑桥英语一级下册教案 我将代表我们班去参加学校英语演讲比赛用 be behalf on 怎么说? be based on非谓语用法? 风帆汽车电瓶怎么加蒸馏水 人生中你第一次骑马,是什么感觉呢? 羧酸钠如何生成羧酸?? 高二化学 最后这段话我怎么看不懂这个反应哪里生成羧酸了?不是生成了盐和醇吗 我的手电充电器丢了,电池上没有标注电压,我怎么配备充电器,应该选择多少伏的充电器。 英语翻译 be off sth be off doing sth 这两个怎么翻译袄`? 国基城邦被封了 河南国基实业非洲待遇怎么样 郑州国基大学是几本