资源简介
一个程序,很好的。是关于如何用回溯法求子集和的。
代码片段和文件信息
// 子集和.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include “stdio.h“
#include “iostream“
using namespace std;
int backtrack(int arr[]int nint sum);
struct SUBBUFF
{
int data;//存放当前的值
char IsIn;//记录当前值是否加入了子集
};
int main(int argc char* argv[])
{
int nsum; //定义了集合元素个数,以及要求的子集的和
cout<<“输入元素个数:“;
cin>>n;
cout<<“输入要求的子集和:“;
cin>>sum;
SUBBUFF *arr = new SUBBUFF[n];
int i=0;
cout<<“初始的集合元素“< for (i=0;i {
cin>>arr[i].data;
arr[i].IsIn = ‘N‘;//将当前的值的初始化状态设为 ‘N‘表示不在子集中
}
int pointto = 0countsum = 0;//当前指向的角标,和现在的子集和
while (pointto>=0)//进入循环,开始回溯
{
if (arr[pointto].IsIn == ‘N‘)//向子集里面增加值
{
countsum +=arr[pointto].data;
arr[pointto].IsIn = ‘Y‘;
if (countsum == sum)//找到答案,输出结果
{
- 上一篇:最小生成树的源代码(C++实现)
- 下一篇:最速下降法c语言实现
相关资源
- C++头文件转delphi工具 + 源码
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
评论
共有 条评论