- 博客(15)
- 收藏
- 关注
原创 1015. Reversible Primes (20)
原题链接 这里写链接内容 题目 1015. Reversible Primes (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A reversible prime in any number system is a prime whose “reverse” in that
2018-02-28 10:43:42
163
转载 常用排序稳定性分析
【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。【2】研究排序算法的稳定性有何意义?首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后 Ai 仍然是在 Aj 位置前。 下
2018-01-02 17:25:58
200
原创 传递数组fun(int a [])和fun(int *a )的区别
答案就是没区别!!今天在写排序算法时,看到函数都是以void InsertionSort(T Array[], int N)形式写的,就觉得很奇怪,函数想要修改实参不是应该通过值传递或者指针传递吗? 为什么这里也可以修改主函数里的实参?通过查阅资料与实验,发现上文的写法其实不是值传递,而是指针传递,可以当做fun(int *a )理解:截选程序:void InsertionSo
2017-12-26 16:44:54
4420
原创 用STL优先队列查找数组第k大
查找数组第k大,是特别经典的算法题,也有很多实现方法,用堆(优先队列)实现,相对比较简单,复杂度也还行,下面就是用stl中的priority_queue来实现的简单程序int findkth_priotity_queue(int * a, int size, int kth){ priority_queue<int> que; //如果找第k小可以用priority_queue<i
2017-12-24 09:22:38
1688
转载 QT5的exe的发布
直接release的exe文件需要很多dll关联,一个一个找又太麻烦。 其实QT5带有一个 windeployqt 工具Qt Widgets Application可执行程序发布方式首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。 然后以 Release 方式编译生成 exe
2017-12-22 11:03:15
218
原创 每日一得
1.string类想添加一个字符,应该重载的是string &insert(int p0, int n, char c);//在p0处插入n个字符c 所以可以写成s.insert(n,1,char c);不然会报错; 附: string的成员函数insert有以下多种重载:string &insert(int p0, const char *s);——在p0位置插入字符串sstring &in
2017-12-22 08:13:57
498
原创 Effective 5
1.一个空类并不是不占内存,因为编译器能够区分不同对象,所以也占空间,一般占一个字节。 2.赋值运算符要返回自身*this,是因为考虑到可以出现连等的情况,比如obj1 = obj2 = obj3,另外,这里都使用了自身类的引用,即A &,这里的引用是必须要加的,这是因为: (1) 引用修饰形参时,可以避免实参对形参的拷贝,一方面可以节省空间和时间资源,更为重要的是若实参对形参拷贝了,又会调用一
2017-12-21 18:05:59
139
转载 const用法总结
顾名思义:const 是常量的意思即用const修饰的都是不可变的。 1. const的用法: (1)定义常量 char arr[] = “hello world”; constchar * const p = arr; const出现在*左边表示被指物是常量,在右边表示指针自身是常量。 声明迭代器为cosnt就像声明指针一样,因为迭代器内部也是用指针维护的。 (2)修饰函数
2017-12-20 09:20:15
406
原创 重载运算符tips
1.成员里的operator比成员外的少一目!!! 如这一题:一开始在operator*()里加参数,肯定报错! using namespace std; // 在此处补充你的代码 template class CMyistream_iterator{ public: T input; CMyistream_iterator(istream & i) {
2017-12-19 20:46:23
121
转载 内联函数与宏的使用注意
【转载】1. 内联函数 在C++中我们通常定义以下函数来求两个整数的最大值: 复制代码 代码如下:int max(int a, int b) { return a > b ? a : b; } 为这么一个小的操作定义一个函数的好处有: ① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多 ② 如果需要做任何修改,修改函数要比找出并修改每一处等价表
2017-12-16 21:38:28
163
原创 unique函数使用技巧与问题
今天第一次使用unique函数,出现了一些问题。 首先就是发现并没有真正的删除,因为vector的长度没有改变,百度了下知道了解决办法,原来unique只是将重复的塞到了容器后面,并且返回的是不重复的最后一个元素的迭代器,所以运用下面的技巧就可以输出想要的数列:如 int a[] = { 8,7,8,10,4,2,1 }; vector<int> v(a, a+7);
2017-12-16 08:43:06
2978
转载 流操纵算子实例
#include #include using namespace std;int main(){int n = 141;//1)分别以十六进制、十进制、八进制输出n cout double x = 1234567.89, y = 12.34567;//2)保留5位有效数字 cout //3)保留小数点后面5位 cout
2017-12-15 09:02:27
339
原创 Coursera 多态编程作业思考
第一题第三题都是考察概念,看一下他们的区别:编程题 #1下面程序的输出结果是:A::FunC::Do请填空:1234567891011121314151617181920212223242526272829303132#include using namespace std;class A { private: int nVal; public:
2017-12-13 19:41:37
269
原创 2017年12月12日 qsort函数理解、多态的实验
1.qsort函数void qsort(void *base,size_t num,size_t width,int compare(const void * a,const void * b))第一个参数填数组名第二个填要排序的个数第三个填每个参数的大小第四个注意类型转换,a和b应该强制类型转换为指向数组元素类型的指针类型如:数组为CShape * PShape[100]
2017-12-12 17:38:25
157
原创 Coursera 编程题 #3 运算符重载 写一个二维数组类 Array2心得
题目如下:来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB描述写一个二维数组类 Array2,使得下面程序的输出结果是:0,1,2,3,4,5,6,7,8,9,10,11,next0,1,2,3,4,5,6,7,8,9,10,11,程
2017-12-10 17:25:21
2253
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人