摘要: 题目: 编写一个模板函数 mismatch,返回值是使不等式 a[i] ≠ b[i]成立的最小索引 i ,0 ≤ i < n 。 思路: 传入两个数组(假定两数组元素个数相同,否则没有意义),依次比较元素即可。有不匹配时返回下标,完全匹配时返回 -1。 代码: 1 #include <iostrea 阅读全文
posted @ 2020-02-13 22:48 Hello_Nolan 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个模板函数 is_sorted,当且仅当a[0 : n - 1]有序时,返回值为 true。测试你的代码。 思路: 数组可以升序有序,也可以降序有序,也可以所有元素均相等。我假设,当数组元素只有一个,或者数组所有元素均相等的时候,数组自然有序。 数组升序降序是未知的,尤其是开头有元素相 阅读全文
posted @ 2020-02-13 22:27 Hello_Nolan 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个模板函数 iota , 使 a[i] += value 。测试你的代码。 思路: 正常思路即可,但是我不懂这个函数名字意义是什么。 注:本题目原书翻译有错,本人已修改正确。否则题目的意义不明。 代码: 1 #include <iostream> 2 using namespace s 阅读全文
posted @ 2020-02-13 20:32 Hello_Nolan 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个模板函数 inner_product,返回值是∑a[i]*b[i] (i 从 0到 n - 1)。测试你的代码。 思路: 由题可知,本函数计算的是两个数组的内积。内积一般是数字,如整数,浮点数。函数返回值应该设置为与数组元素相同类型。 代码: 1 #include <iostream 阅读全文
posted @ 2020-02-13 16:22 Hello_Nolan 阅读(2059) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个模板函数 fill,给数组a[start : end - 1]赋值 value。测试你的代码。 思路: 正常思路即可。当 start > end 时,进行交换,利用一下 new_swap() 函数。 代码: 1 #include <iostream> 2 using namespac 阅读全文
posted @ 2020-02-13 13:18 Hello_Nolan 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 题目: 编写一个模板函数 count,返回值是数组 a[0: n - 1]的数值个数。测试你的代码。 思路: 首先,函数计算数组个数,返回值应该是 size_t 类型,为了简单起见,将其设为 int 类型。 下面考虑函数参数。一般来说,涉及数组的问题,需要传入数组名和数组元素个数。这里需要详细说明一 阅读全文
posted @ 2020-02-13 12:44 Hello_Nolan 阅读(4325) 评论(0) 推荐(0) 编辑
摘要: 题目: 解释为什么下面程序的交换函数没有把形参 x 和 y 所对应的实参的值交换。如何修改代码,使实参的值得到交换? 原交换程序: 1 void swap(int x, int y) { 2 int temp = x; 3 x = y; 4 y = temp; 5 } 思路: 在C++中,参数传递方 阅读全文
posted @ 2020-02-13 12:10 Hello_Nolan 阅读(356) 评论(0) 推荐(0) 编辑