排序问题【无重复数据】

这里的数据由用户输入,默认全都不重复。。。
数字 、字符都可以的。

#include<bits/stdc++.h>
#include<iostream>
using namespace std;

char xx[9999];
int cnt=0;
void perm(int k,int m) {
    
    
	if(k==m) {
    
    
		for(int i=0; i<=m; i++) {
    
    
			cout<<xx[i]<<" ";
		}
		cout<<endl;
		cnt++;
	} else {
    
    
		for(int i=k; i<=m; i++) {
    
    
			swap(xx[k],xx[i]);
			perm(k+1,m);
			swap(xx[k],xx[i]);
		}
	}
}

int main() {
    
    
	int n;
	cout<<"请输入元素个数:\n" ;
	cin>>n;
	cout<<"请输入"<<n<<"个不同的元素:\n" ;
	for(int i=0; i<n; i++)
		cin>>xx[i];
	perm(0,n-1);
	cout<<"count="<<cnt;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45745322/article/details/114692633
今日推荐