上次作业忘了写别的方法,非递归和直接调用函数。
这次的作业,用c++输出全部子集。想了想,自己还是gg了,查了查,有两种方法。
方法一:用映射,bool数组,0 1分别代表该元素存在否(集合的无序性),大佬程序:点击打开链接 ,然后溜了溜了看程序去了……
1.看见cin.get()这个函数很奇怪,查了下,地址;点击打开链接 这个方法我好像理解了,写个代码试试……
2.template<class T> 模板,地址:点击打开链接
3.fun()操作函数一定要放在main入口之前,否则在main中找不到。
原作者貌似有笔误的地方,直接运行不对,也可能是我的问题,改了改终于成功了。
利用每个元素的特点标记数组
方法二:没悟出来怎么个意思 ,先甩地址:点击打开链接 这么貌似是一般考虑递归的做法,想要求三个元素的子集,先求后两个元素的子集,先求后一个元素的子集。
1.单引号和双引号一直没懂,地址:点击打开链接 就是字符和字符串的区别 再看这里:点击打开链接
……………………………………………………………………………………我是还没看懂的分割线,先去做别的…………………………………………………………
照着大佬的程序改对了,但是各个地方的细节还是有点懵,我觉得可能是它需要双向地考虑而我一直是单线单向考虑的……
哈哈哈哈哈哈懂了!!!!两天断断续续地想,终于懂了!!!而且喜欢的太太正在高效率填坑,美滋滋!!!!
j<2是要输出两个,为什么输出两个呢,是因为下次的“总集合”是去掉最后一个得到!
又看见一个大佬的程序,地址:点击打开链接 第一个增量的,貌似只能用于递增的数组……
先这样,大佬去帮我看新的做法了,先把作业交上。