摘要:单例模式,确保某个类只能生成一个实例单例模式的构造方法必须定义为私有(private)的必须要定义一个静态(static)的方法,作为生成这个对象实例的入口package com.singleton;//静态代码块不一定在最开始执行,比如说 静态代码块 放在 单例模式中,//但一般情况下 静态代码块是第一执行的 也就是在类加载时执行, 只执行一次class SingletonTest{ private static SingletonTest singletonTest = new SingletonTest(); static { System.out.println("===..
阅读全文
摘要:JDOMCreateXML.javaimport java.io.FileOutputStream;import java.io.*;import org.jdom.Document;import org.jdom.Element;import org.jdom.output.Format;import org.jdom.output.XMLOutputter;/** * * 1.JDOM是专为java编程而设计的 具有创建,解析... xml的框架 * 2.JDOM 里面基本是 封装的“类”,而不像 DOM和SAX那样,全是接口 * 3.要使用JDOM里面的类必须要导入jdom.jar包 .
阅读全文
摘要:friends.xml<?xml version="1.0" encoding="utf-8"?><friends date="2012"> <!--此处为注释--> <friend id="1"> <姓名>小红</姓名> <QQ>1429286632</QQ> <!--address>上海</address--> </friend> <friend> <姓名>
阅读全文
摘要:2012年2月20日 大学二年级第四学期始每周一记录第一周:2月20日~2月26日重要人物:巫大爷基本时间:除了吃喝拉撒睡的其余时间主要地点:教学楼、宿舍、饭堂、操场事件大概:电子工艺实习、在宿舍看《职来职往》求职节目、看《程序员羊皮卷》、继续学习《C++ Primer 第4版》、及时去饭堂吃饭、上学吃早餐麻烦、跟小钱和俊哥去操场跑步锻炼、玩微博、上csdn发表文章路过经过:上电子工艺实习课比较懒散,不认真并且应付了事每天看一集《职来职往》每天看一章《程序员羊皮卷》每天学习一点《C++ Primer》准时吃饭,但不按时睡觉,不早起、贪睡每天准时8:30左右出发去操场跑步收获结果:为期两周的电子
阅读全文
摘要:friends.xml<?xml version="1.0" encoding="utf-8"?><friends date="2012"> <!--此处为注释--> <friend id="1"> <姓名>小红</姓名> <QQ>123456789</QQ> </friend> <friend> <姓名>小平</姓名> <QQ>12345678</QQ&
阅读全文
摘要://10.28.cpp
//建立作者及其作品的multimap容器
//以下的格式按姓名首字母的顺序输出作者及其作品:
//Author Names Beginning with 'A'
//Author,book,book,.......
//Author Names Beginning with 'B'
//...
#include<iostream>
#include<map>
#include<string>
using namespace std; int main()
{ multimap<string,st
阅读全文
摘要://10.27.cpp
//建立作者及其作品对multimap容器
//使用equal_range函数获取迭代器,然后删除一段范围内的元素
//当所寻找的元素不存在时,程序依然能正确执行
#include<iostream>
#include<map>
#include<string>
using namespace std; int main()
{ multimap<string,string> authors; string author,work,searchItem; //建立作者及其作品的multimap容器 do { cout<
阅读全文
摘要://10.26.cpp
//建立作者及其作品的multimap容器。
//使用find函数在multimap中查找元素
//并调用erase将其删除。
//当所寻找的元素不存在时,确保你的程序依然能正确执行
#include<iostream>
#include<map>
#include<string>
using namespace std; int main()
{ multimap<string,string> authors; string author,work,searchItem; //建立作者及其作品的multimap容器 do
阅读全文
摘要://10.25.cpp
//定义一个vector容器,存储在未来6个月里要阅读的书的名字 //定义一个set,用于记录已经看过的书名。
//本程序支持从vector中选择一本没有读过而现在要读的书。
//并且支持从已读数目的set中删除书的记录
//在虚拟的6个月后,输出已读和还没有读的书目
#include<iostream>
#include<set>
#include<vector>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace
阅读全文
摘要://10.24.cpp
//建立一个单词排除集
//用于识别以's'借位、但这个结尾的's',又不能删除的单词
//使用这个排除集删除输入单词尾部的's',生成该单词的非复数版本
//如果输入的是排除集中的单词,则保持该单词不变
#include<iostream>
#include<set>
#include<string>
using namespace std; int main()
{ set<string> excluded; //建立单词排除集 excluded.insert("
阅读全文
摘要://10.23.cpp
//编写程序将被排除的单词存储在vector对象中,而不是存储在set对象中
//函数restricted_wc,根据形参指定文件建立单词排除集
//将被排除的单词存储在vector对象中,
//并从标准输入设备读入文本,对不在排除集中的单词进行出现次数统计
//主函数例示restricted_wc函数的使用
#include<iostream>
#include<fstream>
#include<map>
#include<vector>
#include<string>
using namespace s
阅读全文
摘要://10.19.cpp
//定义一个map对象为,其元素的键是家族姓氏,
//而值则是vector对象,该vector对象存储pair类型的对象
//pair对象记录每个孩子的名字和生日
//进行基于家族姓氏的查询,输出该家族所有孩子的名字和生日
#include<iostream>
#include<map>
#include<utility>
#include<vector>
#include<string>
using namespace std; int main()
{ map<string,vector<pai
阅读全文
摘要://10-18.cpp
//定义一个map对象,其元素的键是家族姓氏,
//而值则是存储该家族孩子名字的vector对象。
//进行基于家族姓氏的查询,输出该家族的所有孩子的名字
#include<iostream>
#include<map>
#include<vector>
#include<string>
using namespace std; int main()
{ map<string,vector<string> > children; string surname,childName; //读入条目(家族
阅读全文
摘要:习题 10.4 举例说明list、vector、deque、map以及set类型分别适用的情况。list类型适用于需要在容器的中间位置插入和删除元素的情况。例如:以无序方式读入一系列学生数据,并按顺序存储。vector适用于需要随机访问元素的情况。例如:在一系列人员当中1~n,访问第x个人的信息。deque适用于需要在容器的尾部或首部进行插入和删除操作的情况下。例如:对服务窗口进行管理时,先来的顾客先得到服务。map适用于键-值对的集合的情况。例如:字典、电话簿的建立和使用。set适用于需要使用键集合的情况。例如:黑名单的建立和使用。
阅读全文
摘要://10.2.cpp
//至少使用三种方法创建pair对象。
//编写三个版本的程序,分别采用不同的方法来创建pair对象
//方法1:在定义pair对象时提供初始化式来创建pair对象 #include<iostream>
#include<vector>
#include<utility>
#include<string>
using namespace std; int main()
{ pair<string,int> sipr; string str; int ival; vector<pair<string,i
阅读全文
摘要://9.43.cpp
//使用stack对象处理带圆括号的表达式。遇到左圆括号时,将其标记下来。
//然后在遇到右圆括号时,弹出stack对象中这两边括号之间的元素(包括左圆括号)
//接着在stack对象中压入一个值,用以表明这个用一对圆括号括起来的表达式已经被替换。 #include<iostream>
#include<stack>
#include<string>
using namespace std; int main()
{ stack<char> sexp; //处理表达式的stack对象 string exp; //存储表达式的
阅读全文
摘要://已知有如下string对象
/* string generic1("Dear Ms Daisy:"); string generic2("MrsMsMissPeople");
编写程序实现下面函数
string greet(string form,string lastname,string title, string::size_type pos,int length);
该函数使用replace操作实现以下功能:对于字符串form,将其中的Daisy替换为lastname
将其中Ms替换为字符串title中pos下标开始的length个字符。例如
阅读全文
摘要:9.32 解释下面程序的实现的功能:vector<string> svec;svec.reserve(1024);string text_word;while(cin>>text_word) sevc.push_back(text_word);svec.resize(svec.size()+svec.size()/2);如果该程序读入了256个单词,在调整大小后,该容器的容量可能是多少?如果读入512,或1000,或1048个单词呢?【解答】 该程序段的功能是:创建空的vector对象后,将其容量设为1024个元素,然后从标准输入设备输入一系列单词,最后将该vector
阅读全文
摘要://9.30.cpp
//编写程序研究标准库为vector对象提供的内存分配策略 #include<iostream>
#include<vector>
using namespace std; int main()
{ vector<int> ivec; //空vector容器的size为0,标准库中的capacity也为0 cout<< "ivec:size: "<<ivec.size() << " capacity: "<<ivec.capacity()<&l
阅读全文