第六章(8)求集合的幂集
来源:互联网 发布:python是用来做什么的 编辑:程序博客网 时间:2024/05/22 10:56
以前落下的习题,现在补上!
#include<stdio.h>
#include<stdlib.h>#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
#define LISTADD 10 //线性表存储空间的分配增量
#define TRUE 1
#define FALSE 0
#define ERROR -1typedef int ElemType;
typedef struct
{
ElemType *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的容量
}SqList , *Sqlist; //注意两者细微差别void InitList_Sq(Sqlist L) ;
int ListLength(SqList L) ;
int ListEmpty(SqList L) ;
void ListInsert(Sqlist L , int i , ElemType e) ;
ElemType GetElem(SqList L, int i, ElemType *e) ;
ElemType ListDelete(Sqlist L,int i,ElemType *e) ;
int LocateElem(SqList L,ElemType e) ;void Output( SqList B ) ;
void GetPowerSet( int i , SqList A , SqList *B ) ;
//void GetPowerSet( int i , SqList A , Sqlist B ) ;static int sign = 0 ;
#include "head.h"
void Output( SqList B )
{
int i ;++ sign ;
printf( "(%d):" , sign ) ;
for( i = 0 ; i < B.length ; ++ i )
{
printf( "%d " , B.elem[ i ] ) ;
}
if( !B.length )
printf( "空集" ) ;
printf( "\n" ) ;
}void GetPowerSet( int i , SqList A , SqList *B )
{ //线性表A表示集合A,线性B表示幂集p(A)的一个元素
ElemType x ;
int k ;if( i > ListLength( A ) )
Output( *B ) ; //输出当前B值,即P(A)的一个元素
else
{
GetElem( A , i , &x ) ;
k = ListLength( *B ) ;ListInsert( B , k + 1 , x ) ; GetPowerSet( i + 1 , A , B ) ;
ListDelete( B , k + 1 , &x ) ; GetPowerSet( i + 1 , A , B ) ;
}
}int main( )
{
SqList A , B ;
InitList_Sq( &A ) ;
InitList_Sq( &B ) ;ListInsert( &A , 1 , 1 ) ;
ListInsert( &A , 2 , 2 ) ;
ListInsert( &A , 3 , 3 ) ;GetPowerSet( 1 , A , &B ) ;
return 0 ;
}
- 第六章(8)求集合的幂集
- 求集合的幂集
- 求集合的幂集
- 求集合的幂集
- 求集合的幂集
- 求集合的幂集
- 求集合的幂集
- 求集合的幂
- 求给定集合的幂集
- 回溯法求集合的幂集
- 非递归求集合的幂集
- java学习笔记(第六章集合)
- 第六章并发集合
- 求含n个元素的集合的幂集
- 求含有n个元素的集合的幂集
- 回溯法学习---求集合的幂集
- 回溯法(深度优先搜索)求集合的幂集
- c++求集合的幂集-递归实现
- 第十章(10).归并排序(非递归)
- 第十章(11).基数排序
- C++扫盲系列--第一个服务器程序
- 第十一章(1).多路平衡归并排序
- 第十一章(2).置换—选择排序
- 第六章(8)求集合的幂集
- 第六章(9).四皇后问题
- 第四章(4).KMP算法
- 第四章(5).建立词索引表
- 第三章(8).离散事件模拟
- UVA 437 -- The Tower of Babylon
- 内存访问错误
- 请学好C语言![转]
- 学计算机必读[转]