set简单用法
程序员文章站
2022-03-15 19:31:25
...
#include <vector>
#include <set>
#include<iostream>
#include <string>
#include <algorithm>
using namespace std;
class Solution {
private:
const int stampValue[3]= { 8,10,18 };
const int stampNumbers[3] = { 5,4,6 };
set<int> combineSet;
public:
Solution() {}
~Solution() {}
void combinationStampValues(){
for(int i=0;i<=stampNumbers[0];++i)
for (int j = 0; j <= stampNumbers[1]; ++j)
for (int k = 0; k <= stampNumbers[2]; ++k) {
int sum = stampValue[0] * i + stampValue[1] * j
+ stampValue[2] * k;
combineSet.insert(sum);//set中的元素具有唯一性
}
}
void showCombineSet() {
printf_s("可得到的组合有:\n");
int numOfPerLine = 5;
for (set<int>::iterator it=combineSet.begin();it!=combineSet.end();++it)//注意这里迭代器的声明
{
printf_s("%4.2lf ", *it/10.0);//控制对齐是一个方便的函数
numOfPerLine--;
if (numOfPerLine == 0) {
cout << endl;
numOfPerLine = 5;
}
}
cout << endl;
}
};
int main()
{
Solution test;
test.combinationStampValues();
test.showCombineSet();
system("pause");
return 0;
}