松鼠呀 发表于 2020-2-15 20:58:10

如何将数据结构与算法的例子中C代码在C编译器中运行

本帖最后由 松鼠呀 于 2020-2-15 21:04 编辑

如何将如下的代码转再编译器运行,例如dev-C++

最后的魁拔 发表于 2020-2-15 21:25:28

请问一下,这是啥书

松鼠呀 发表于 2020-2-16 09:21:29

最后的魁拔 发表于 2020-2-15 21:25
请问一下,这是啥书

邓俊辉的数据结构与算法

学海无涯i 发表于 2020-2-17 18:55:23

#include<iostream>

using namespace std;

template <typename T> struct Hailstone { //函数对象:按照Hailstone规则转化一个T类对象
    virtual void operator() ( T& e ) { //假设T可直接做算术运算
      int step = 0; //转换所需步数
      while ( 1 != e ) { //按奇、偶逐步转换,直至为1
            ( e % 2 ) ? e = 3 * e + 1 : e /= 2;
            step++;
      }
      e = step; //返回转换所经步数
    }
};

int main() {
    Hailstone<int> haistone;
    int n;
    cin>>n;
    haistone(n);
    cout<<n;
}
是要这个么?

松鼠呀 发表于 2020-2-19 19:48:57

学海无涯i 发表于 2020-2-17 18:55
是要这个么?

大佬,麻烦问一下为什么要这样写啊?
函数模板和主函数的调用
Hailstone<int>haistone

qq1242009750 发表于 2020-2-20 10:56:25

松鼠呀 发表于 2020-2-19 19:48
大佬,麻烦问一下为什么要这样写啊?
函数模板和主函数的调用
Hailstonehaistone

这是一个结构体呀,
Hailstone<int>haistoneint代表代模板中替换的类型haistone表示创建一个模板替换类型为int的实例化变量。

松鼠呀 发表于 2020-2-27 21:53:18

学海无涯i 发表于 2020-2-17 18:55
是要这个么?

不好意思啊,我刚发现你们两个不是一个人回答的
页: [1]
查看完整版本: 如何将数据结构与算法的例子中C代码在C编译器中运行