Accelerated C++ Exercises Ch10
来源:互联网 发布:电瓶车速度测试软件 编辑:程序博客网 时间:2024/05/01 23:43
10-2
Rewrite the median function from §8.1.1/140 so that we can call it with either a vector or a built-in array. The function should allow containers of any arithmetic type.
//"median.h"#ifndef GUARD_MEDIAN_H#define GUARD_MEDIAN_H#include <vector>#include <algorithm>#include <stdexcept>using namespace std;template <class T, class In>T median(In beg, In end){ vector<T> v(beg, end); typedef typename vector<T>::size_type vec_sz; vec_sz size = v.size(); if (size == 0) throw domain_error("median of an empty input!"); sort(v.begin(), v.end()); vec_sz mid = size / 2; return size % 2 == 0 ? (v[mid] + v[mid + 1]) / 2 : v[mid];}#endif // GUARD_MEDIAN_H
//"main.cpp"#include "median.h"#include <iostream>using std::vector;using std::cin;using std::cout;using std::endl;int main(){ vector<int> v; int data; int a[5]; size_t i = 0; cout << "input integers:" << endl; while (cin >> data) { v.push_back(data); *(a + i++) = data; } cout << "vector<int>:" << median<int>(v.begin(), v.end()) << endl; cout << "int array:" << median<int>(a, a + i) << endl; system("pause");}
0 0
- Accelerated C++ Exercises Ch10
- Accelerated C++Exercises' Resolutions
- Accelerated C++ Exercises
- Accelerated C++ Exercises Ch3
- Accelerated C++ Exercises Ch4
- Accelerated C++ Exercises Ch12
- Accelerated C++ Exercises Ch14
- Accelerated C++ exercises 4-0
- 【C ++ Primer】ch10 习题解答
- C++PrimerV5/Ch10/ex10.1-
- c++primer exercises 2.9
- c++primer exercises 7.0
- C Ch10重點整理-Preprocessor
- 读《Accelerated C++》有感
- 【Accelerated C++】读书笔记(一)
- 【Accelerated C++】读书笔记(二)
- 【Accelerated C++】读书笔记(三)
- 【Accelerated C++】读书笔记(四)
- POJ 题目2418 Hardwood Species(map)
- HDU 4162 Shape Number
- Step One - 安装JDK和JRE
- hdu1010 Tempter of the Bone(dfs)
- DNS 协议
- Accelerated C++ Exercises Ch10
- C++学习笔记
- 观察者模式
- CodeForces 222A Shooshuns and Sequence
- 例题10-6 无关的元素 UVa1635
- C++备忘-QT(2)
- ui到底是什么?
- 0005 嘿嘿
- pat1017 Queueing at Bank