算法库-全排列,递归全排列 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

相关文章

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

关于@RequestParam的主要用法详解

《关于@RequestParam的主要用法详解》:本文主要介绍关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 基本用法2. 默认值3. 可选参数4. 绑定到对象5. 绑定到集合或数组6. 绑定到 Map7. 处理复杂类

Jackson库进行JSON 序列化时遇到了无限递归(Infinite Recursion)的问题及解决方案

《Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursion)的问题及解决方案》使用Jackson库进行JSON序列化时遇到了无限递归(InfiniteRecursi... 目录解决方案‌1. 使用 @jsonIgnore 忽略一个方向的引用2. 使用 @JsonManagedR

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展