不要追求紧凑的代码

不要追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。

 1 #include <iostream>
 2 #include <set>
 3 
 4 using namespace std;
 5 
 6 //创建set模板的实例
 7 typedef set<int> SET_INT;
 8 
 9 //put_HTset函数,从头向尾显示set容器的所有元素
10 void put_HTset(SET_INT set1,char *name)
11 {
12     SET_INT::iterator it;
13 
14     cout<<name<<": ";
15     cout<<"Head to Tail=";
16     for (it=set1.begin();it!=set1.end();++it)
17         cout<<(*it)<<" ";
18     cout<<endl;
19 }
20 
21 //put_THset函数,从尾向头显示set容器的所有元素
22 void put_THset(SET_INT s1,char *name)
23 {
24     SET_INT::reverse_iterator i;
25 
26     cout<<name<<": ";
27       cout<<"Tail to Head=";
28     for (i=s1.rbegin(); i!=s1.rend();i++)
29         cout <<(*i) <<" ";
30     cout<<endl;
31 }
32 
33 //测试set模板
34 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
35 
36 int main(int argc, char** argv) {
37         int i;
38     //声明set的对象和迭代器
39     SET_INT s1;      //容器初始尾空
40     SET_INT::iterator it;
41 
42     //向s1对象中插入值
43     for (i=1;i<20;i=i+2) {
44         s1.insert(i);
45     }
46 
47     //正向显示s1中的数据
48     put_HTset(s1,"s1");
49 
50     //反向显示s1中的数据
51     put_THset(s1,"s1");
52 
53     //构造含有元素的序列并显示
54     SET_INT s2(s1);
55     put_HTset(s2,"s2");
56 
57     //删除s2的第2个元素并显示
58     s2.erase(++s2.begin());
59     put_HTset(s2,"s2");
60 
61     //向s2插入8和9并显示
62     s2.insert(8);
63     s2.insert(9);
64     put_HTset(s2,"s2");
65 
66     //清空s2的序列
67     s2.clear();
68     put_HTset(s2,"s2");
69 
70     //按关键给定的区间显示序列中的元素
71     cout<<"[s1.lower_bound(5),s1.upper_bound(15)] :";
72     for (it=s1.lower_bound(4);it!=s1.upper_bound(16);it++)
73         cout<<(*it)<<" ";
74     cout<<endl;
75 
76     //显示s1的状态信息
77     cout<<"s1.size():"<<s1.size()<<endl;
78     cout<<"s1.max_size():"<<s1.max_size()<<endl;
79     cout<<"s1.count(15):"<<s1.count(15)<<endl;
80 
81     //交换两个set容器的元素并显示
82     s1.swap(s2);
83     put_HTset(s1,"s1");
84     put_HTset(s2,"s2");
85 
86     //关系运算
87     s1.insert(5);
88     cout<<"s1>s2 = "<<(s1>s2)<<endl;
89     return 0;
90 }

猜你喜欢

转载自www.cnblogs.com/borter/p/9417942.html