算法库-全排列,递归全排列 auti()字符转为整型 stringstream用法

2024-02-01 21:40

本文主要是介绍算法库-全排列,递归全排列 auti()字符转为整型 stringstream用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导航

1.全排列函数next_permutation(beg,end)
2.auti() //将字符串转化为整型
万能头文件 #include < bits/stdc++.h>
3.stringstream的int型转为string型用法
——————————————————————————————————— 1.全排列:可以推举出所有可能性
头文件:#include < algorithm>

例1:(int型)

#include <iostream>
using namespace std;
#include <algorithm>
int main()
{int a[] = {1,3,2}; //如果数组中数不是升序的话sort(a,a+len);  //注意要排一下序int len = sizeof(a)/sizeof(a[0]); //计算出数组中数量 do{for(int i=0;i<len;i++){cout<<a[i];}cout<<endl;}while(next_permutation(a,a+len)); //这个函数返回的是bool类型,没有更多排列返回false return 0;
} 

运行结果:
在这里插入图片描述
例2:(string型)

#include <iostream>
using namespace std;
#include <algorithm>
#include <string>
int main()
{string s;cin>>s;do{cout<<s<<endl;}while(next_permutation(s.begin(),s.end())); return 0;
} 

运行结果:
在这里插入图片描述
例3:(vector容器)

#include <iostream>
using namespace std;
#include <algorithm>
#include <vector>
int main()
{vector<int> v;for(int i=0;i<=2;i++){v.push_back(i);}do{for(vector<int>::iterator it=v.begin();it!=v.end();it++) //迭代器遍历{cout<<*it;}cout<<endl;}while(next_permutation(v.begin(),v.end())); //放入迭代器return 0;
} 

运行结果:
在这里插入图片描述

手动写一个递归全排列:
在这里插入图片描述
学习网址:https://www.bilibili.com/video/av65164273?from=search&seid=12828774151800623150

使用for循环

#include <stdio.h>
int main()
{int a,b,c;for(a=1;a<=3;a++)for(b=1;b<=3;b++)for(c=1;c<=3;c++)if(a!=b&&a!=c&&b!=c)printf("%d%d%d\n",a,b,c);return 0;
} 

运行结果
在这里插入图片描述
———————————————————————————————————
2.atoi() //将字符串转化为整型

要保证atoi中是char*型

c语言

#include <stdio.h>
#include <stdlib.h>  //要加头文件 
int main()
{char *s = "123";  //放到atoi中要char*型 int a = atoi(s);printf("%d",a);  //输出123return 0;
}

c++

#include <iostream>
using namespace std;
#include <stdlib.h>
int main()
{string s = "123";int a = atoi(s.c_str()); //中间要转换为char*型cout<<a<<endl;return 0; 
}

———————————————————————————————————
3.stringstream的int型转为string型用法

#include <iostream>
#include <sstream>  //要添加头文件 
using namespace std;
int main()
{int a = 145;string b;stringstream ss;  //定义 ss<<a;//传入 ss>>b;//转成string型 if(b == "145"){cout<<"相同类型"<<endl; } else{cout<<"不同类型"<<endl;}return 0;
}

这篇关于算法库-全排列,递归全排列 auti()字符转为整型 stringstream用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668564

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2