当前位置: 首页 > news >正文

组合数(1) 用Vector实现获取所有组合数列表的QT实现

1.工程文件

QT = coreCONFIG += c++17 cmdline# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

2.主程序

#include <QCoreApplication>
#include <vector>
#include <iostream>using namespace std;vector<vector<int>> getCombinationList(int nums[],int ncount)
{vector<vector<int>> retvv = vector<vector<int>>();retvv.push_back(vector<int>());for (int n=0; n<ncount; n++) {int size = retvv.size();for (int i = 0; i < size; i++) {vector<int> newSub = vector<int>(retvv[i]);newSub.push_back(n);retvv.push_back(newSub);}}return retvv;
}void showCombinationList( vector<vector<int>> va )
{std::cout << "[ \n";for (int var = 0; var < va.size(); ++var) {std::cout << "  [ ";for(int j=0; j< va[var].size();j++){std::cout << va[var][j] << " ";}std::cout << "]\n";}std::cout << "]\n";
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);int test[] = {1,2,3,4,5};vector<vector<int>> va = getCombinationList(test, 5);showCombinationList(va);return a.exec();
}

3.执行结果


  [ ]
  [ 0 ]
  [ 1 ]
  [ 0 1 ]
  [ 2 ]
  [ 0 2 ]
  [ 1 2 ]
  [ 0 1 2 ]
  [ 3 ]
  [ 0 3 ]
  [ 1 3 ]
  [ 0 1 3 ]
  [ 2 3 ]
  [ 0 2 3 ]
  [ 1 2 3 ]
  [ 0 1 2 3 ]
  [ 4 ]
  [ 0 4 ]
  [ 1 4 ]
  [ 0 1 4 ]
  [ 2 4 ]
  [ 0 2 4 ]
  [ 1 2 4 ]
  [ 0 1 2 4 ]
  [ 3 4 ]
  [ 0 3 4 ]
  [ 1 3 4 ]
  [ 0 1 3 4 ]
  [ 2 3 4 ]
  [ 0 2 3 4 ]
  [ 1 2 3 4 ]
  [ 0 1 2 3 4 ]
]

http://www.lryc.cn/news/194627.html

相关文章:

  • Ultra-Fast-Lane-Detection-v2 裁剪数据增强
  • 从零开始学习调用百度地图网页API:三、鼠标点击绘图功能
  • 强化学习案例复现(1)--- MountainCar基于Q-learning
  • BUUCTF学习(6): 命令执行ip
  • javaweb:mybatis:mapper(sql映射+代理开发+配置文件之设置别名、多环境配置、顺序+注解开发)
  • JavaScript基础知识——练习巩固(2)
  • FutureTask的测试使用和方法执行分析
  • SpringMVC的请求处理
  • 260. 只出现一次的数字 III
  • 家政预约接单系统,家政保洁小程序开发;
  • 网络安全工程师需要学什么?零基础怎么从入门到精通,看这一篇就够了
  • 出差学知识No3:ubuntu查询文件大小|文件包大小|磁盘占用情况等
  • 详解cv2.copyMakeBorder函数【OpenCV图像边界填充Python版本】
  • 前端技术-并发请求
  • 面试题-React(十三):React中获取Refs的几种方式
  • Linux CentOS 7升级curl8.4.0使用编译安装方式
  • 探寻JWT的本质:它是什么?它有什么作用?
  • 关于雅思听力答案限定字数的解释。
  • 化工python | CSTR连续搅拌反应器系统
  • 交通物流模型 | 基于自监督学习的交通流预测模型
  • 343. 整数拆分 96.不同的二叉搜索树
  • Vue3理解(9)
  • CRM系统中的销售漏斗有什么作用?
  • 项目(模块1:用户登陆流程分析)
  • 2023年中国商用服务机器人行业发展概况分析:国产机器人厂商向海外进军[图]
  • 千兆光模块和万兆光模块的适用场景有哪些
  • 2 files found with path ‘lib/armeabi-v7a/liblog.so‘ from inputs:
  • qt中json类
  • NeurIPS 2023 | AD-PT:首个大规模点云自动驾驶预训练方案
  • 设计模式-结构型模式