C++
无火的残烬
醉后不知天在水,满船清梦压星河
展开
-
C++去除数字和符号前缀
.原创 2022-05-18 16:57:25 · 807 阅读 · 0 评论 -
C++ 矩阵置换密码的具体实现
置换密码置换密码算法的原理是不改变明文字符,只将字符在明文中的排列顺序改变,从而实现明文信息的加密。置换密码也叫换位密码。它的加密方法是将明文中的字母按照给定的顺序安排在一个矩阵中,然后用根据密钥提供的顺序重新组合矩阵中的字母,形成密文。例如,明文为 attack begins at five,密钥为 cipher,将明文按照每行 6 个字母的形式排在矩阵中,如下形式:a t t a c kb e g i n sa t f i v e根据密钥 cipher 中各字母在字母表中出现的先后顺序,.原创 2022-04-03 13:28:55 · 3760 阅读 · 1 评论 -
C++ 凯撒密码具体代码实现
凯撒密码的加密方法:将明文中的每个字母用此字符在字母表中后面的第 k 个字母替代。它的加密过程可以表示为下面的函数:E(k)=(m+k)modn其中,m 为明文字母在字母表中的位置数,n 为字母表中的字母个数,k 为密钥,E(k)为密文字母在字母表中对应的位置数。具体代码:#include<bits/stdc++.h>using namespace std;string encrypt(){ vector<char>v(26,0);//字母表 stri.原创 2022-04-01 22:00:04 · 9840 阅读 · 0 评论 -
C++读取文件到string中
#include<bits/stdc++.h>using namespace std; int main() { ifstream myfile("D:\\VScodeC++\\file\\hello.txt",ios::in); string temp; if (!myfile.is_open()) { cout << "未成功打开文件" << endl; } string res;原创 2022-03-21 21:29:51 · 5560 阅读 · 7 评论 -
C++ sort函数用法
个人简单记录一下sort函数的用法,方便下次直接使用sort包含在头文件<algorithm>中,用于对数组进行排序sort可以有三个参数,sort(begin,end,cmp),第三个参数可以自己定义排序的规则,从而可以对二维数组进行排序等。基本用法数组定义:vector<int>nums;默认:sort(nums.begin(),nums.end());对nums数组进行升序排序自定义以进行降序排序bool cmp(int x, int y) {原创 2021-10-01 16:22:51 · 5037 阅读 · 0 评论 -
C++中常用字符和数字转换函数整合
由于最近在刷题时碰到许多这样的问题,写个博客自己整理下字符串型数字转纯数字例:“1234”->1234atoi+c_str()代码:#include <iostream>#include <string>using namespace std;int main(){ string s="1234"; int a= atoi(s.c_str()); cout<<a<<endl;}输出:1234sto原创 2021-06-21 00:33:42 · 1507 阅读 · 0 评论 -
关键路径中最早/迟发生时间
概念:在AOE网中,顶点表示事件,弧表示活动,权表示活动持续的时间。一般求的是关键路径,而要求关键路径则要找到以下四个值1.事件Vi的最早发生时间ve(i)2.事件Vi的最迟发生时间vl(i)3.活动ai的最早发生时间e(i)4.活动ai的最迟发生时间l(i)例子:求V4和a4的以上四个值(下面有全部活动和事件的参考)1.事件Vi的最早发生时间ve(i):要找事件(即图中顶点)的最早发生时间只需找到开始事件V0到该事件的最长路径即可,可以看到这里V0到V4有两条路,V0->V1-&g原创 2021-01-06 17:17:35 · 25483 阅读 · 4 评论 -
快速排序的C++具体实现
刚学快速排序,写个博客记录下算法描述:快速排序属于交换排序的一种,是冒泡排序的改进算法。算法实现:(代码在下面)例题:排序 49 38 65 97 76 12 27 500123456749386597761227501.首先把表中第一个数作为枢轴,即49;2.从右往左找到比这个数小的,交换这两数的位置;0123456727386597761249503.再以这个数为基准即49.原创 2020-12-20 23:48:06 · 1542 阅读 · 1 评论 -
C++ 二叉树求叶子结点数及输出叶子结点的路径
话不多说,直接看代码1.头文件及二叉树结点定义#include<iostream>using namespace std;typedef struct Bitnode { char data; struct Bitnode* lchild, * rchild;}Bitnode,*Bitree;2.建立二叉链表,这里用的是先序建立void FCreatBitree(Bitree& T)//先序建立二叉链表{ char ch; cin >> ch;原创 2020-12-07 22:17:29 · 4373 阅读 · 1 评论