//取一个字符串的所有子集合,并打印输出。
#include<iostream>
#define N 4
using namespace std;
char strsets[N+1]="abcd";//字符集合
char strsel[N];//选中的字符集合标志。当strsel[i]=1则显示,strsel[i]=0则不显示
char strshow[N+1];//输出时的字符串(即为子集)
void print(){//打印子字符集
int j=0;
for(int i=0;i<N;i++){//把要输出的字符放在strshow中
if(strsel[i])
strshow[j++]=strsets[i];
}
strshow[j]='/0';//结尾标志
cout<<strshow<<endl;
}
void selstring(){ //选择子串
for(int i=0;i<N;i++){
strsel[i]=strsel[i]^1;
if(!strsel[i])//当前元素取反后为0则停止。这样取反正好有2^n-1种情况,而且不重复。
break;
}
}
int main(int argc,char* argv[]){
for(int i=0;i<N;i++){//默认开始时,设置所有元素都没显示
strsel[i]=0;
}
int n=2<<N-1;//计算循环次数
for( i=0;i<n;i++){
selstring();//取子串
print(); //显示所取子串
}
return 0;
}
分享到:
相关推荐
2.14 合并拼接字符串:使用各种方法将多个字符串合并为一个。 2.15 字符串中插入变量:在字符串中插入变量或表达式。 2.16 以指定列宽格式化字符串:使用str.format()方法或旧式的%格式化进行格式化输出。 2.17 在...
字符串和文本处理章节则详细讨论了如何使用多个界定符分割字符串、进行...合并拼接字符串、字符串中插入变量、以指定列宽格式化字符串、在字符串中处理HTML和XML、字符串令牌解析、实现简单的递归下降分析器以及字节...
13.3 字符串的所有子回文字符串 13.4 最长公共子序列问题 13.5 字符串的编辑距离 13.6 不同路径之和 13.6.1 无障碍13.6.2 有障碍 13.7 最大矩形面积 13.8 字符串交叉组合 13.9 旋转字符串 13.10 最小路径和 13.11 ...
2.14 合并拼接字符串:如何高效地将多个字符串合并成一个。 2.15 字符串中插入变量:在字符串中插入变量或表达式的结果。 2.16 以指定列宽格式化字符串:使用字符串格式化功能按照特定的列宽输出文本。 2.17 在字符...
2. 替换空格:需要实现一个函数,将字符串中的所有空格替换为“%20”。通过计算原字符串长度、空格数量以及替换后的字符串长度来实现,使用双指针技术,从原字符串的末尾和新字符串的末尾开始同时向前赋值。 3. 从...
1.17 从字典中提取子集:提供了如何从一个字典中提取特定键值对的方法。 1.18 映射名称到序列元素:说明了如何将一组名称映射到序列的元素上。 1.19 转换并同时计算数据:讲解了在转换数据格式的同时进行数据计算...
1. 统计字符的频度:自然语言描述为:取出字符串中的一个字符,遍历所有初始化的哈夫曼树结点,如果结点中有记录代表的字符且字符等于取出的字符,说明该字符的叶子存在,那么将该结点的权加一。如果所有结点均没有...
本章探讨了读写文本数据、打印输出到文件、使用其他分隔符或行终止符打印、读写字节数据、确保文件存在才能写入、字符串的IO操作、读写压缩文件、固定大小记录的文件迭代、二进制数据的读取到可变缓冲区以及内存操作...
- 利用`+`运算符或`join()`方法可以高效地将多个字符串合并成一个字符串。 - **检查字符串是否包含一组字符** - 使用`in`关键字或`all()`函数结合列表推导式可以判断一个字符串是否包含特定字符集合。 - **基于...
1.3 测试一个对象是否是类字符串 8 1.4 字符串对齐 10 1.5 去除字符串两端的空格 11 1.6 合并字符串 11 1.7 将字符串逐字符或逐词反转 14 1.8 检查字符串中是否包含某字符集合中的字符 15 1.9 简化字符串的...
6. 把一个list中所有的字符串变成小写:通过遍历list并对每个元素使用str.lower()方法来实现。 7. 输出某个路径下的所有文件和文件夹的路径:依然是使用os模块,可以列出指定路径下的所有条目。 8. 输出某个路径...
4. `ascii()`: 返回一个可读的、不包含非ASCII字符的字符串。 5. `bin()`: 将整数转换为前缀为`'0b'`的二进制字符串。 6. `bool()`: 转换对象为布尔值,`False`和`None`会被视为`False`,其他值被视为`True`。 7. `...
* 判断一个字符串是否为回文字符串? * 实现一个累加函数的功能。 * 使用 reduce 方法实现 forEach、map、filter。 * 设计一个简单的任务队列,要求分别在 1,3,4 秒后打印出 "1", "2", "3"。 * 如何查找一篇英文文章...
- 字符串的遍历可以通过`for char in word:`,每次迭代得到字符串的一个字符。 6. **注释**: - 单行注释使用`#`开头,多行注释可以使用三引号(`'''`或`"""`)包裹。 7. **编码**: - 文件中的`# -*- coding: ...
- 实现一个函数来查找一个字符串在另一个字符串中的位置。 - **TwoStringsAreAnagrams** - 判断两个字符串是否为字母异位词。 - **CompareStrings** - 比较两个字符串是否相等。 - **Anagrams** - 查找字符串...
1.6.2. 输入一个字符串,打印出该字符串中字符的所有排列 ........................128 1.6.3. 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数 位于数组的后半部分 ..............