C++
文章平均质量分 60
广大菜鸟
没甚么厉害的经历,联系方式:qq:1456084073,或csdn私信
展开
-
将xml文件转ass格式文件
xml文件转弹幕文件原创 2022-02-06 14:19:36 · 2889 阅读 · 0 评论 -
求大数阶乘
题目链接:https://acmore.cc/problem/LOCAL/15841、大数相乘暴力法#include<iostream>#include<vector>#include <stdlib.h>using namespace std;int main(){ int n; cin>>n; vector<int>A={1}; for(int b=2;b<=n;b++){原创 2020-12-05 13:10:31 · 195 阅读 · 0 评论 -
C++实现window终端非清屏重画的光标上移数行再覆盖效果
参考资料:如何取得光标当前位置的句柄(论坛):https://bbs.csdn.net/topics/310037758控制台光标怎么移至上一行?(论坛):https://bbs.csdn.net/topics/390012308?page=2#include<iostream>#include<Windows.h>//Sleep调用,vc环境下//#include <stdio.h> //tc编译器下using namespace std;class G原创 2020-10-26 21:14:43 · 598 阅读 · 0 评论 -
二分法+牛顿迭代法+简化牛顿迭代法+牛顿下山法解方程的近似值
牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。百度百科–牛顿迭代法//用牛顿迭代法 求方程 2*x*x*x-4*x*x+3*x-6 的根/* 牛顿迭代法 */#include<stdio.h>#include<math.h>...原创 2020-01-26 20:01:05 · 3131 阅读 · 4 评论 -
C++混合中文英文字符串匹配查找改进
问题起源于一个同学 daidaimadaima 的私信,他的问题是他写的版本是#include<iostream>using namespace std; string dic[] = { "自然语言处理","准时","课程","作业","有","老番茄","意思","上课","计算语言学","开心" };// 是否为词表中的词或者是词表中词的前缀bool inDict(string str){ bool re = false; int i; int l原创 2020-06-03 10:31:29 · 1199 阅读 · 0 评论 -
解线性方程组的迭代法--大型稀疏矩阵---松弛迭代法C++实现
知识点案例伪代码代码////////////////////////////////////////////////// 松弛迭代算法 求解线性方程组 ///////////////////////////////////////////////////#include<stdio.h>#include<math.h>#include<iostream>using namespace std;#define MAX_N 20原创 2020-06-12 17:53:18 · 2036 阅读 · 0 评论 -
解线性方程组的迭代法--大型稀疏矩阵---高斯-赛戴尔迭代法C++实现
背景知识伪代码代码实现//////////////////////////////////////////////////// Gauss-Seidel 迭代求解线性方程组 ///////////////////////////////////////////////////#include<math.h>#include<iostream>#include<string.h>using namespace std;#define MAX原创 2020-06-12 17:53:29 · 1152 阅读 · 0 评论 -
解线性方程组的迭代法--大型稀疏矩阵---雅可比迭代法C++实现
//////////////////////////////////////////// Jacobi 迭代求解线性方程组 ////////////////////////////////////////////#include<math.h>#define MAX_N 20 //设置方程的最大维数#define MAXREPT 100#define epsilon 0.00001 //求解精度#include<iostream>using names...原创 2020-06-12 17:54:12 · 3048 阅读 · 0 评论 -
基于计网作业---求文件校验和--带c++进制转换功能实现
编写一个计算机程序用来计算一个文件的16位效验和。最快速的方法是用一个32位的整数来存放这个和。记住要处理进位(例如,超过16位的那些位),把它们加到效验和中。要求:1)以命令行形式运行:check_sum infile其中check_sum为程序名,infile为输入数据文件名。2)输出:数据文件的效验和附:效验和(checksum)参见RFC1071 - Computing the Internet checksum原理:把要发送的数据看成16比特的二进制整数序列,并计算他们的和。若数据字原创 2020-05-29 09:49:09 · 298 阅读 · 0 评论 -
统计ANSI格式下文件中中文个数(不包括中文运算符)
#include<iostream>#include<fstream>using namespace std;// 关于ANSI,unicode与utf-8的区别:https://blog.csdn.net/forest_fire/article/details/81011090//以下程序对gb2312编码有效,文档格式为ansivoid calculate(const char* srcFile){ unsigned char ch[2]; ifstream i原创 2020-05-23 13:40:10 · 195 阅读 · 0 评论 -
最短编辑距离学习
看到网上这个大佬的著作2020年华为春招真题(最短编辑距离)详解+Java代码实现(校招,Minimum Edit Distance,Levenshtein距离,代码,原理解释)后,2020年3月4日的华为校园春招的真题第3题——编辑距离改编题:输入n,接下来2n行,前n行表示待修改文章,后n行表示已修改文章。输出从待修改文章到已修改文章最少编辑的次数。删除、添加、替换一个字符都算一次编辑。...原创 2020-03-27 11:17:16 · 220 阅读 · 1 评论 -
求最大公共前缀(3种语言5种方法)-C、C++、java
参考资料来自题库:https://leetcode-cn.com/problems/longest-common-prefix/submissions/Cchar * longestCommonPrefix_byDivide(char ** strs,int strsSize){//8ms 7MB if (strsSize ==0){ return ""; } ch...原创 2020-02-27 22:20:50 · 934 阅读 · 0 评论 -
虚函数后面的const=0(转)
虚函数后面的const=0const 和 =0要分开理解.成员函数后面用 const 修饰,const表示this是一个指向常量的指针,即对象成为一个常量,即它的成员不能够变化.(默认情况下,this的类型是指向类类型非常量版本的常量指针。例如在Sales_data成员函数中,this的类型是Sales_data *const,即类一旦实例化一个对象后,this指向这个对象,是不能改变的,但是...转载 2020-02-19 15:43:47 · 2438 阅读 · 0 评论 -
C++的日期星期数计算程序
#include<iostream>using namespace std;int leap(int a){ if(a%4==0&&a%100!=0||a%400==0){ return 1;//闰年 } else return 0;//平年 }int number(int year ,int m,int d){ int a[2][12]={{31...原创 2020-01-14 15:09:16 · 2359 阅读 · 0 评论 -
C++文件输入输出(5)--读的方式打开放回最大和最小值和平均值
#include<iostream>#include<fstream>using namespace std;int main(){ char name[30],s[80]; int number,score; int n=0,max,min,total=0; double aver; ifstream instuf("F:\\students.txt"...原创 2020-01-14 14:47:03 · 185 阅读 · 0 评论 -
C++文件输入输出处理(4)--文件复制
#include<iostream>#include<fstream>using namespace std;int copy(char *destFile,char*srcFile){ char ch;ifstream inFile(srcFile,ios::in); ofstream outFile(destFile,ios::out); if(!src...原创 2020-01-14 14:45:52 · 251 阅读 · 0 评论 -
C++文件输入输出处理(3)--增加文件内容
#include<iostream>#include<fstream>using namespace std;int Append(char *fileName){ char name[30],ch;int number,score; ofstream outstuf(fileName,ios::app); if(!fileName) { cerr<...原创 2020-01-14 14:45:04 · 366 阅读 · 0 评论 -
C++文件输入输出处理(2)--简单浏览文件
#include<iostream>#include<fstream>using namespace std;void browseFile(char *fileName,int delLine){ ifstream inf(fileName,ios::in); char s[80]; for(int i=1;i<=delLine;i++) inf.ge...原创 2020-01-14 14:44:13 · 190 阅读 · 0 评论 -
C++文件输入输出处理(1)--文件处理打开
#include<iostream> #include<fstream>using namespace std;int main(){ char fileName[30], name[30]; ofstream outstuf; int number, score; cout << "Input the name of students file:...原创 2020-01-14 14:42:35 · 233 阅读 · 0 评论 -
求最小公因式2种方法
#include<iostream>using namespace std;int gcd_byDivide(int a,int b){ return (b==0)?a:gcd_byDivide(b,a%b);}int gcd_bysubtraction(int a,int b){ while(a!=b){ if(a>b) a=a-b; else b=b-a;...原创 2020-01-07 15:02:55 · 1224 阅读 · 0 评论 -
字符串递归逆转
#include<iostream>#include<cstring>using namespace std;void invert(char A[]){ static int i=0; char ch; cin>>ch; if(ch!='#'){ A[i++]=ch; invert(A); }else return ; int len...原创 2019-12-31 18:35:33 · 156 阅读 · 0 评论 -
求主元素(出现次数大于一半)
#include"pch.h"#include<iostream>#include<string.h>using namespace std;//时间复杂度为o(n),空间复杂度o(1)int MainElement(int A[], int n) { //求主元素,出现次数大于一半 //思路:1.count<0重新开始计数,找出最后大于0的主元素 i...原创 2019-12-26 21:21:19 · 165 阅读 · 0 评论 -
拓扑排序
例如,假定一个计算机专业的学生必须完成图3-4所列出的全部课程。在这里,课程代表活动,学习一门课程就表示进行一项活动,学习每门课程的先决条件是学完它的全部先修课程。如学习《数据结构》课程就必须安排在学完它的两门先修课程《离散数学》和《算法语言》之后。学习《高等数学》课程则可以随时安排,因为它是基础课程,没有先修课。若用AOV网来表示这种课程安排的先后关系,则如图3-5所示。图中的每个顶点代表一门课...原创 2019-12-26 16:49:47 · 234 阅读 · 0 评论 -
最短路径_Floyd算法(多源)
Floyd算法是一个经典的动态规划算法,它又被称为插点法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。Floyd算法是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,算法目标是寻找从点i到点j的最短路径。从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,...原创 2019-12-26 14:50:03 · 486 阅读 · 0 评论 -
最短路径_Dijstra算法(单源)
定义所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。Dijkstra(迪杰斯特拉)算法他的算法思想是按路径长度递增的次序一步一步并入来求取,是贪心算法的一个应用,用来解决单源点到其余顶点的最短路径问题。//利用狄克斯特拉(Dijkstra)算法求上图中0结点到其它结点的最短路径,单...原创 2019-12-26 14:37:47 · 299 阅读 · 0 评论 -
图的应用1.最小生成树——kruskal算法实现(加边法)
#include"pch.h"#include<iostream>using namespace std;//用邻接矩阵来存储#define MaxNum 10//最大顶点数#define MaxInt 32767//无穷大#define MinInt -1//认为较小typedef char VerType;//数据类型typedef int ArcType;//权...原创 2019-12-26 14:16:14 · 745 阅读 · 0 评论 -
图的应用1.最小生成树——prim算法实现(加点法)
最小生成树概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。数据结构:树形结构,或者说是直链型结构,因为当n个点相连,且路径和最短,那么将它们相连的路一定是n-1条实现思路:将点分为在树中的点与不在树中的点,每次取出树中点的连接的最小路径,且该路径连接的点不在树中,然后将该路径连接的点加入树中,重复并进行路关于图的几个概念定义:连通图:在无向图中...原创 2019-12-26 13:47:35 · 761 阅读 · 0 评论 -
图邻接表创建无向图存储遍历
//1图的邻接矩阵表示法和邻接表创建无向图存储#include"pch.h"#include<iostream>using namespace std;#define MaxNum 100 //最大顶点数//1.1图的邻接矩阵表示法创建无向图存储#define MaxInt 32767 //无穷typedef char VerType;//数据类型typedef ...原创 2019-12-26 13:31:40 · 637 阅读 · 0 评论 -
图的遍历_1基于邻接表的遍历
邻接表的辅助结构和函数:#include"pch.h"#include<iostream>#include<time.h>using namespace std;//深度优先搜索#define MaxNum 100 //最大顶点数//图的邻接表创建无向图存储typedef char VerTexType;typedef int OtherType;//...原创 2019-12-25 21:49:33 · 663 阅读 · 0 评论 -
图——邻接矩阵和邻接表的实现
//1图的邻接矩阵表示法和邻接表创建无向图存储#include"pch.h"#include<iostream>using namespace std;#define MaxNum 100 //最大顶点数//1.1图的邻接矩阵表示法创建无向图存储#define MaxInt 32767 //无穷/*typedef char VerType;//数据类型typede...原创 2019-12-25 21:30:06 · 639 阅读 · 0 评论 -
基于链地址法的散列表查找
#include"pch.h"#include<iostream>using namespace std;typedef int keyType;typedef struct HashTable { keyType key; struct HashTable * next;}HashTable, *HashTree;class Hash {public: int ...原创 2019-12-25 20:53:24 · 1024 阅读 · 0 评论 -
基于开发地址法的散列表的查找
#include"pch.h"#include <iostream>using namespace std;//利用线性探测法typedef int keyType; typedef struct { keyType key;}HashTable,*HashTree;class Hash {public: int curTable;//当前 //定义哈希函数 H...原创 2019-12-25 20:48:35 · 486 阅读 · 0 评论 -
二叉排序树的实现(纯代码)
#include"pch.h"#include<ctime>#include<iostream>using namespace std;/*手工输入10个字母,生成一棵二叉查找树,用递归算法打印树结构或分别输出先序和中序遍历序列以确认其结构。键盘输入待查找的字母,计算比较次数。分别用查找成功、不成功进行测试。*/typedef char keyType;ty...原创 2019-12-25 20:19:16 · 647 阅读 · 8 评论 -
酒瓶问题递归
/*题目:某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?如果b个空瓶能够换一瓶汽...转载 2019-12-25 19:27:32 · 470 阅读 · 0 评论 -
归并排序代码(略)
#include"pch.h"#include<time.h>#include<iostream>#include<string.h> using namespace std;void show(int a[], int length) { for (int i = 1; i <= length; i++) { if (a[i] != 0)...原创 2019-12-25 15:52:01 · 399 阅读 · 0 评论 -
堆排序
//大根堆-》小根堆//1、筛选法创建堆//算法分析原创 2019-12-25 15:43:27 · 233 阅读 · 0 评论 -
简单排序(数组+循环队列)
#include"pch.h"#include<time.h>#include<iostream>using namespace std;//=================================================================================================================...原创 2019-12-25 15:39:40 · 416 阅读 · 0 评论 -
快速排序模板(略)
#include"pch.h"#include<iostream>#include<ctime>using namespace std;//==================================================================================================================...原创 2019-12-25 14:57:22 · 119 阅读 · 0 评论 -
双向冒泡排序
#include"pch.h"#include<iostream>#include<ctime>using namespace std;void show(int a[], int length) { for (int i = 1; i <= length; i++) { cout << a[i] << " "; } cout...原创 2019-12-25 14:54:05 · 220 阅读 · 1 评论 -
冒泡排序
冒泡排序原创 2019-12-25 14:49:22 · 134 阅读 · 0 评论