- 博客(15)
- 收藏
- 关注
原创 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 3861 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 10162
原创 leetcode刷题笔记 -76 滑动窗口
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。输入:s = "ADOBECODEBANC", t = "ABC"输出:"BANC"代码class Solution {public: string minWindow(string s, st.
2022-03-30 19:45:16 1109
原创 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 5701 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 5361
原创 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 1543
原创 vim基础个人笔记
基本文本编辑ESC键进入命令行模式,在这个模式下输入个各种命令移动光标:上下左右键或者hjkl键h:左移一位j:下移一行k:上移一行l:右移一行x:删除当前光标位置处的字符i:在光标左边插入字符a:在光标右边插入字符:wq :保存退出:q!:不保存退出单词和句子的编辑d - 删除操作符w -删除从当前光标当前位置直到下一个单词起始处e - 删除从当前光标当前位置直到单词末尾$ - 删除从当前光标当前位置直到当前行末d - 删.
2021-06-10 17:36:49 119 1
原创 关键路径中最早/迟发生时间
概念:在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 25895 4
原创 快速排序的C++具体实现
刚学快速排序,写个博客记录下算法描述:快速排序属于交换排序的一种,是冒泡排序的改进算法。算法实现:(代码在下面)例题:排序 49 38 65 97 76 12 27 500123456749386597761227501.首先把表中第一个数作为枢轴,即49;2.从右往左找到比这个数小的,交换这两数的位置;0123456727386597761249503.再以这个数为基准即49.
2020-12-20 23:48:06 1596 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 4482 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人