`
liuchen_good
  • 浏览: 5004 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何打印出集合{1,2,3,4,5,6}的所有子集?

阅读更多
package test;

import java.util.ArrayList;
import java.util.List;

public class Test {
	static int n =-1;
	public Test() {
		
	}
	public void print(List list)
	{
		for(int i=0;i<list.size();i++)
			System.out.print(list.get(i));
		System.out.println();
	}
	
	/*通过递归减少集合中元素的个数
	 * @index 控制排除递归出重复的结果
	 * @list 递归的List
	 */
	public List deal(int index,List list)
	{
		//把原List克隆
		List newList =(List) ((ArrayList)list).clone();
		
		print(list);
		n++;
		for(int i=0;i<list.size();i++)
		{
			if(i>=index)
			{
//				System.out.println("list大小:"+list.size());
//				System.out.println("index:"+index+"  i:"+i);
				list.remove(i);
				//递归调用
				deal(i,list);
				list = (List) ((ArrayList)newList).clone();
			}
		}
		return null;
	}
	public static void main(String[] args) {
		List list = new ArrayList();
		for(int i = 0 ; i < 5 ; i ++)
			list.add(new Integer(i));
		Test test = new Test();
		test.deal(0,list);
		System.out.println("@@@@@@@@@@@@@   "+n);
	}
}

分享到:
评论

相关推荐

    输出集合的所有子集

    首先计算出所有可能的二进制数的个数(即所有子集的数量),然后遍历这些二进制数,每次将当前数字转换为二进制,并根据二进制数的每一位判断是否应包含对应的元素。 ### 总结 这两种方法各有优势:递归法的逻辑...

    求集合的所有子集问题

    问题描述: 试写一个递归算法实现求一个集合的所有子集。...将计算出的所有子集分行输出到文件output.txt中。 输入文件示例: 3 1 2 3 输出文件示例: (此空行表示空集) 3 2 2 3 1 1 3 1 2 1 2 3

    输出n个数集合的所有子集

    输出n个数集合的所有子集 c++课程实验 eclipse 编写

    求集合的所有子集

    给定一个非空的集合,用递归算法输出它的所有子集。由文件input.txt 提供输入数据。文件第1行是集合中的元素个数,第2行是集合的元素序列(元素之间用空格分隔)。将计算出的所有子集分行输出到文件output.txt中。

    5-1+_子集和问题_

    子集和问题的一个实例为?St?〈St〉。其中,S={x1,x2,…,xn}S={x1,x2,…...数据输入:第 1 行有 2 个正整数 n 和 c,n 表示 S 的大小,c是子集和的目标值。接下来的 1 行中,有 n 个正整数,表示集合 S 中的元素。

    子集和问题子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,...,xn}是一个正整数的集合,c

    子集和问题 Description 子集和问题的一个实例为〈S,t〉。其中,S={x1,x2,...,xn}是一个正整数的集合,c 是一个正整数。子集和问题判定是否存在S的一个子集S1,使得x∈S1,∑x=c....2 2 6 5 4 Sample Output 2 2 6

    输出n个整数的所有子集

    例如,如果n=3,整数集合为{1, 2, 3},那么它的子集可以用二进制数000、001、010、011、100、101、110和111来表示,分别对应于空集、{1}、{2}、{1, 2}、{3}、{1, 3}、{2, 3}和{1, 2, 3}。 在C++中,我们可以用循环...

    求集合的所有子集 数据结构 严蔚敏

    求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏 求集合的所有子集 数据结构 严蔚敏

    使用回溯法求集合的子集

    5. 最后,不添加1和2,只添加3,生成子集{3}。 6. 不添加任何元素,生成空集{}。 在程序实现上,可以使用递归函数,每次函数调用代表选取或不选取当前元素,递归地处理剩余元素。同时,为了防止无效的路径,需要...

    求一个集合子集的算法示例

    在计算机科学中,集合子集的问题是一个常见的算法问题,它要求找出给定集合的所有可能子集。本示例将探讨两种解决方法:一种基于回溯的递归策略,另一种则是利用位域映射的技术。 首先,让我们理解集合子集的概念。...

    集合的所有子集(源码下载)

    在这个场景中,程序设计用于实现一个算法,该算法生成并打印出一个给定集合的所有子集。 描述中提到的“程序设计算法”是指设计一个程序来解决特定问题的方法。这里使用的算法是通过递归的方式来找到所有子集。程序...

    算法设计实现题子集和问题c实现

    5-1 子集和问题 问题描述:子集和问题的一个实例为,t&gt;。其中,S={x1,x2,...,xn}是一个正整数的集合,c是一个正整数 。 子集和问题判定是否存在S 的一个子集S1,使得子集里的元素之和为c ...2 2 6 5 4

    SQL用于查询子集集合

    得知根节点的ID查询出此节点下所有的子集,并可以转成json格式

    集合之间的关系(子集.doc

    例如,集合A={1,2,3}是集合B={1,2,3,4,5}的子集,因为A中的每个元素都在B中。 2. **子集的性质**: - 任何集合都是它自身的子集,即A⊆A。 - 空集∅是任何集合的子集,即∅⊆A。 3. **真子集**:如果A是B的子集...

    数据结构划分子集问题C语言代码

    例A={1,2,3,4,5,6,7,8,9} R={ (2,8), (9,4), (2,9), (2,1), (2,5), (6,2), (5,9), (5,6), (5,4), (7,5), (7,6), (3,7), (6,3) } 可行的子集划分为: A1={ 1,3,4,8 } A2={ 2,7 } A3={ 5 } A4={ 6,9 }

    1.4 求集合的所有子集问题.rar

    vector&lt;int&gt; set = {1, 2, 3}; printSubsets(set, 0, vector()); return 0; } ``` 在这个代码中,`printSubsets`函数接受一个集合、一个索引和一个当前子集作为参数。当索引为0时,表示开始生成子集。函数首先...

    子集打印问题~新奇算法

    "子集打印问题"通常指的是从一个给定的集合中找出所有可能的子集,并将其打印出来。这个问题在计算机科学中具有重要的理论价值,因为它涉及到组合数学、递归和回溯等基本概念。 首先,我们来看传统的解决方案。经典...

    集合子集交集并集补集.doc

    - 填空题1要求列举出不大于8的非负整数,即{0, 1, 2, 3, 4, 5, 6, 7, 8}。 - 填空题2表示的是所有正奇数的集合,可以描述为{正奇数}。 - 填空题3询问的是位于第二和第四象限的点的集合。 - 填空题4至6涉及到集合...

    回溯法求解子集和数给定一个n个整数的集合X={x1,x2....xn}和整数y,找出和等于y的X的子集Y.

    子集和问题是计算机科学中的一个经典问题,其目标是从给定的整数集合 `X = {x1, x2, ..., xn}` 中找出一个或多个子集 `Y`,使得这些子集中所有元素之和等于给定的目标值 `y`。形式化表示为: \[ \text{寻找} Y \...

Global site tag (gtag.js) - Google Analytics