// 字符串的组合输出.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;
}
求字符串的所有子集
最新推荐文章于 2023-11-04 21:05:09 发布