// 字符串的组合输出.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "string.h" #include <stdlib.h> #include <vector> #include <iostream> using namespace std; /* * 输出 * 1 * 12 * 123 * 1234 * 124 * 13 * 134 * 14 * 2 * 23 * 234 * 24 * 3 * 34 * 4 */ void print(std::vector<char> &vec) //输入参数为需要打印的数组,以及要打印的长度 { std::vector<char>::iterator itr; for (itr = vec.begin(); itr != vec.end(); ++itr) { cout << *itr; } cout << endl; } void reSort(char *pArray, int len, std::vector<char> &vector) { print(vector); if (len <= 0) return; for (int idx = 0; idx < len; idx++) { vector.push_back(pArray[idx]); reSort(&pArray[idx+1], len-idx-1, vector); vector.pop_back(); } } void MainReSort(char *pArray, int len) { std::vector<char> vector; for (int idx=0; idx<len; idx++) { vector.push_back(pArray[idx]); reSort(&pArray[idx+1], len-idx-1, vector); vector.pop_back(); } } int _tmain(int argc, _TCHAR* argv[]) { char src[] = {"1234"}; MainReSort(src, 4); return 0; }
求字符串的所有子集
最新推荐文章于 2022-08-16 20:14:20 发布