资源简介
一个程序,很好的。是关于如何用回溯法求子集和的。
代码片段和文件信息
// 子集和.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++实现)
- C++编写的简单仓库管理系统
- 优秀开源项目基于VC++和MFC基于VC++和
- MFC编程案例之文件管理器C++
- c++/mfc编写的网络电话,网络语音 程序
- 使用Win32 API的相关知识实现矩阵的乘
- 八皇后图形演示 C++的
- 一个基于C++实现的完整进行FTP应用管
- MPI_并行程序设计中文教程C++/c/Fortan
- C++完整实现DES算法
- 非常简单的C++迷宫程序,是数据结构
- 基于vc++的波形显示源码
- c++ HTTP协议库 httplib
- 大整数乘法 c++ 代码
- 使用C++编写超经典的坦克大战
- MFC实现点对点通信
- C Socket通信多线程数据双向收发VS201
- 数据结构—图书馆管理系统C++编写
- 基于TAO的CORBA程序设计
- C++-小精灵程序
- VC++软键盘源码和QQ软键盘差不多哦
- QM算法C++实现
- 仿雷电游戏OpenGL源码C++版
- arcgis engine C++开发
- c++ 命令设计模式实现撤销重做(CAD系
- QML_MVC_Demo
- VC++制作程序安装向导完整源码实现
- c++常用代码
- Windows屏幕截图工具C++源代码
- 8数码问题的c++代码
评论
共有 条评论