, 2, 2, 3, 3, 3, 4, 4, 4};
cout << (lower_bound(a, a + 12, 4) - a) << endl; //输出 9
cout upper_bound..., 4) - a) << endl; //输出 12
cout << (lower_bound(a, a + 12, 1) - a) << endl; //输出 0
cout upper_bound...12, 1) - a) << endl; //输出 3
cout << (lower_bound(a, a + 12, 3) - a) << endl; //输出 6
cout upper_bound..., 3) - a) << endl; //输出 9
cout << (lower_bound(a, a + 12, 5) - a) << endl; //输出 12
cout upper_bound...在对 4 进行 upper_bound 时,输出结果是 12,因为在升序序列中 upper_bound 返回第一个大于 参数val 的 序列值的迭代器,不幸的是这个序列里找不到大于 4 的值,所以迭代器走到尽头也没有找到