自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一匹刚学打乒乓球的老马

分享个人的心得,拿来“牛人”的思想

  • 博客(153)
  • 资源 (1)
  • 收藏
  • 关注

原创 有可能减小pdf的一种方法

pdf技巧

2023-01-12 21:27:38 172 1

原创 关于C语言函数之间的数据交换

C语言的函数可以分为主调函数和被调函数两大类,他们共同完成程序的功能。现在把主调函数当成一个人,被调函数是一个具有某个功能的工厂。那么人怎样协调工厂一起把原料加工成产品呢。有三种模式:一、普通的参数传递(图片来自百度,向图片作者致谢)此时,我们的甘蔗棍就是原材料,榨汁机就是工厂,工厂加工后,产品就是果汁。对应到函数,榨汁机就是函数,留的那个放甘蔗的地方就是形式参数,甘蔗是实际参数,液体是水龙头提供产品的形态,是返回值类型,杯子里的甘蔗汁是返回值。当你不用甘蔗机的时候,

2022-01-09 11:47:54 753

原创 素数判断中一个典型错误

在学习C语言过程中,素数判断也是一个经典题目,大约每年都有40%的学生学不会。究其原因,是逻辑没有理顺的原因。下面是一个典型错误,看看你是否犯过。输入一个整数x,判断其是否是素数,若是输出Yes,否则输出No。某学生写成下面的样子。# include <bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL x,i; cin>>x; for(i=2;i&lt

2021-12-28 09:43:40 627

原创 帮你理解 sum=1阶乘+2阶乘+3阶乘+...+n阶乘 的简单高效算法---多添加打印语句

在学习循环时,计算 sum=!+2!+3!+...+n!,是一个经典的题目。除了双重循环这个逻辑简单、效率低的算法外,老师往往还会介绍一个高效的算法,如下:# include <bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL n,item=1,sum=0,i; cin>>n; for(i=1;i<=n;i++) { item=item*i; sum=su

2021-12-28 09:28:55 937

原创 初学编程者要学会发现问题---多加打印语句

一些学生,对编程很感兴趣,也会去做题,但当程序运行结果不正确时,往往不会去发现问题。这里给大家演示一个方法,可以帮助你看清楚程序的运行过程,从而自己发现问题,进而解决问题。 只有自己发现问题、解决问题,得到的成就感和幸福感才是实实在在的。 比如:输入一个整数n,计算 sum=1!+2!+3!+....+n!,输出 sum。 某个同学写出下面的程序:# include <bits/stdc++.h>using names...

2021-12-28 09:16:35 345

原创 有些实数在计算机内存储是不精确的,如何验证?

我们列出0-10,这11个数的开平方b,b*b,比较一下结果。并且我们保留到小数点后10位和20位。#include<bits/stdc++.h>using namespace std;int main(){ for(int i=0;i<11;i++) { double b; b=sqrt(i); //cout<<b<<" "<<b*b<<" "<<i...

2021-12-15 21:21:55 1044

原创 求组合数cnm

传统算法cnm=n!/m!/(n-m)!,当n比较大时,会溢出下面的方法可以避免LL cnm(LL n,LL m){ LL f=1; LL i,j=1; for(i=n-m+1;i<=n;i++) { f=f*i; if(f%j==0) { f=f/j; j++; } }...

2021-10-16 10:37:06 2310

原创 c++11以前中的hash_map

自己杜撰一个题目:对于一组数据,存在数组中a,现在输入多行,每行两个整数m,n要求输出每个a【m,n】中最大值。每次输入一对m,n就在hash_map中查找是否存在,若存在,则直接输出,若不错在则去a中查找,查找过程中产生的中间结果都加以记录。这样后面若遇到查过的,则不用再查了。————————————————#include <ext/hash_map> #include<bits/stdc++.h>using namespace std;//usi..

2021-10-09 20:09:55 230

原创 C++11中的unordered_map,底层基于hash table实现

在C++11中,有了基于哈希表的unordered_map和unordered_set,可以直接使用。但是,c、c++程序竞赛似乎不支持c++11.万能头文件#include<bits/stdc++.h>using namespace std;怎样使得dev-cpp支持c++ 11呢?(96条消息) 让devcpp支持c++11_速趴赛亚金的博客-CSDN博客1.选择菜单栏的--工具,打开编译选项。2.在编译项中勾选“编译时加入以下命令”,并加入命令 -std=c+.

2021-10-09 17:13:19 503

原创 C++关于字符串的读入操作

C++11中不允许使用gets()得到一行字符。若使用字符数组,C++ string的优秀功能不能使用。现找到使用getline的方法可以用C++11得到一行字符。特记之。一、string1、读入不能包含空白符的字符串string s;cin>>s;读入字符串,遇到空白符、回车符等结束。2、读入一行,以回车符结束string s; getline(cin,s);//s中不包含回车符 cout<<s;3、先读入一个整数n,再读...

2021-10-04 20:44:49 3498

原创 C++-重载运算符以利用sort函数对复杂类型(结构体类型)排序

在使用c++的sort函数时,其函数原型为:①两个参数的形式template <class RandomAccessIterator>void sort ( RandomAccessIterator first, RandomAccessIterator last );②三个参数的形式template <class RandomAccessIterator, class Compare> void sort ( RandomAccessIterator f..

2021-09-16 08:50:45 982

转载 【转】C++ 万能头文件

#include<bits/stdc++.h>//包含了目前c++所包含的所有头文件!!!!using namespace std;int main(){ return 0;}

2021-09-16 08:39:35 1604

原创 C++的find_if函数

find_if函数可以查询复杂数据类型,比如结构体。///ttt.cpp//c++编译器下通过#include<stdio.h>#include<stdlib.h>#include<vector>#include<algorithm>#include<iostream>using namespace std;struct node{ int data; int count;};node x...

2021-09-13 20:56:35 2782

原创 C++中利用vector构建结构体类型的堆

怎样从vector中构建大顶堆或者小顶堆,网上多见以int型为例。但现实中复杂数据比较多,多用结构体表示。本文演示如何从结构体类型的vector构建堆。///ttt.cpp//c++编译器下通过#include<stdio.h>#include<stdlib.h>#include<vector>#include<algorithm>#include<iostream>using namespace std;st...

2021-09-13 17:00:49 519

原创 C语言中的跳转语句goto和return

•顺序结构中的语句顺次执行•一条都不能少我们能不能从某个地方跳转到另外一个地方执行呢?可以!用goto语句和return语句。goto语句在较复杂程序中,不提倡使用,但不影响我们了解。一、goto语句1、向下跳。选择结构的前生往世。#include<stdio.h>int main(){ double a,b,c; a=b=0; a=4; goto L; b=12;L: c=a+b; printf("%lf\n",c); ...

2021-03-27 11:29:15 2281

原创 C#开发Android App--05--获取加速度传感器数据并显示在textView控件上面

创建一个新C#android项目选择“BlankApp”在生成的界面上,删除原来的layout,从工具箱重新选择一个LinearLayout再选择三个textView,id为默认,即textView1、textView2、textView3,用以显示加速度传感器x、y、z轴数据再选择两个个Button,id为默认,即button1、button2可以适当调整他们的大小运行,效果为:其对应的activity_main.xml为:<?xml version="1...

2020-12-24 08:55:13 2037 5

原创 C#开发Android App--03--创建第一个app--Hello World

知识点:第一个app,显示Helloworld

2020-12-20 09:50:28 3998 4

原创 C#开发Android App--01--准备工具

微软的官方文档部分:https://docs.microsoft.com/zh-cn/xamarin/get-started/installation/windows摘录和加工如下:Visual Studio 中都免费附带 Xamarin,并且不需要单独的许可证,可使用 Visual Studio 安装程序下载和安装 Xamarin.Android 工具。Xamarin 可安装为新 Visual Studio 2019 安装的一部分,具体通过以下步骤操作: 从Visual Studi.

2020-12-20 09:48:56 844 1

原创 C#-学习软件开发最好的入门工具

优点如下:1、C#的开发工具VisualStudio是地表最强大的开发工具;对入门者友好。2、C#可以开发控制台、桌面、web、app等软件3、一门语言可以体验所有,选你最爱深入钻研。

2020-12-20 09:47:41 1827 1

原创 Linux下C语言验证多线程-分段排序

https://blog.csdn.net/skrskr66/article/details/90298470https://blog.csdn.net/luguifang2011/article/details/41476643编写程序必须配置编译器点击Compiler再设置然后保存

2020-12-14 20:37:55 367

原创 Linux下C语言验证多进程

#include<sys/types.h>#include<unistd.h>#include<stdio.h>#include<iostream>using namespace std;int main(){ pid_t pid1; pid_t pid2; cout<<"main: pid1="<<pid1<<"; pid2="<<pid2<<endl;...

2020-12-13 12:43:29 147

原创 Linux系统下 简单C/C++程序的开发

https://blog.csdn.net/shine_journey/article/details/78731390

2020-12-13 11:24:55 1180

原创 Hdu2062--01背包-动态规划法-递归-记忆化搜索

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2602从前到后推导参考:https://blog.csdn.net/tobe_numberone/article/details/89430223#include<string.h>#include <iostream>#include <algorithm>using namespace std;//http://acm.hdu.edu.cn/show.

2020-12-01 16:32:48 135

原创 Hdu2062--01背包-动态规划法

方法1:#include <stdio.h>#include <string.h>int dp[1001][1001];int max(int x,int y){ return (x>y?x:y);}int main(void){ int t,n,v,i,j; int val[1001],vol[1001]; scanf("%d",&t); while(t--) { scanf("%d

2020-12-01 16:22:08 145

原创 回溯法解决01背包-非递归算法-效率低

http://acm.zua.edu.cn/problem.php?cid=1025&pid=24解题思路:物体的个数为Num,背包的体积限制为Volum物品的体积是v[1]、v[2]、...、v[Num]物品的价值是w[1]、w[2]、...w[3]找出一个物品的组合,使得在不超过体积Volum的条件下,价值最大。用回溯法设置一个栈,解空间是一维数组。从初始空间开始,放入栈1、当栈不空时,取出栈顶元素,2、根据是否选取下一个物品,生成两个新的结点,放入栈顶.

2020-12-01 16:20:06 511

原创 回溯法解决01背包问题--效率低-适用于小规模数据问题

http://acm.zua.edu.cn/problem.php?cid=1025&pid=24解题思路:物体的个数为Num,背包的体积限制为Volum物品的体积是v[1]、v[2]、...、v[Num]物品的价值是w[1]、w[2]、...w[3]找出一个物品的组合,使得在不超过体积Volum的条件下,价值最大。用回溯法Num个物品分别编号1、2、...、Num对每个物品都有取或者不取两种情况。int Max;//最大价值int Volum;//背包容量.

2020-12-01 16:14:18 350

原创 利用next_permutation求解01背包问题--效率低,适用小数据量问题

http://acm.zua.edu.cn/problem.php?cid=1025&pid=24下面代码能解决上面问题,是由于后台测试数据量少。还是掌握动态规划为好#include<stdio.h>#include<algorithm> #include<iostream> using namespace std; #include "string.h"#include "stdio.h" int n,w;struct nod.

2020-12-01 16:06:08 126

原创 图--关键路径算法

#include"string.h" #include<vector>#include<iostream>#include<stack>using namespace std;#define max_vertex_num 20struct ArcNode//弧(边)结点{int adjvex;//该弧所指向的顶点的位置int weight;//权重ArcNode *nextarc;//指向下一条弧的指针};struct VexNode//表头结..

2020-11-24 21:35:13 330

原创 图-拓扑排序算法

#include<iostream>#include<stack>using namespace std;#define max_vertex_num 20struct ArcNode//弧(边)结点{int adjvex;//该弧所指向的顶点的位置ArcNode *nextarc;//指向下一条弧的指针};struct VexNode//表头结点,或者说弧头结点{ char vex[50];// ArcNode *firstarc;//第一条弧指针};..

2020-11-24 21:34:01 194

原创 图的最短路径算法-Floyd算法

#include"string.h"#include<iostream>#include<vector>using namespace std;#define max_vertex_num 20//顶点最大个数,假定不超过20个。//采用邻接矩阵作为图的存储结构int vex_num;//顶点的实际个数char v[max_vertex_num][20];//存储顶点的数组,假设顶点名字不超过20字符int arcs[max_vertex_num][max_ve.

2020-11-24 21:32:47 137

原创 图的最短路径算法-Dijkstra算法

// Dijkstra_C.cpp : Defines the entry point for the console application.//#include<string.h> #include<iostream>#include<vector>using namespace std;#define max_vertex_num 20//顶点最大个数,假定不超过20个。//采用邻接矩阵作为图的存储结构int vex_num;//顶点的实际个.

2020-11-24 21:31:22 190

原创 图的最小生成树算法-Kruscal算法-并查集-然而未采用堆排序技巧-效率依然低

#include <iostream>using namespace std;#define max_vertex_num 20int vex_num;//顶点个数char v[max_vertex_num];//存储顶点int arcs[max_vertex_num][max_vertex_num];//存储权值void Initialization();//图的初始化int LocateVex(char u);//定位顶点u,返回顶点在一维数组v中的下标void I..

2020-11-24 21:30:04 86

原创 图的最小生成树算法-Kruscal算法-笨方法

知识点:1、图的邻接矩阵表示法;2、Kruscal算法,不采用并查集。采用一维数组,合并集合时,把一个集合中的标签全部改成另一个集合的标签,顺序扫描,效率低。// MiniSpanTree_Kruskal.cpp//基于邻接矩阵的Kruscal算法//逐条边的加入,笨办法 #include <iostream>using namespace std;#define max_vertex_num 20int vex_num;//顶点个数char v[max_ve.

2020-11-24 21:27:50 235

原创 图的最小生成树算法-Prim算法

知识点:1、图的邻接矩阵表示法;2、Prim算法实现// MiniCostSpanTree_Prim.cpp //基于图的邻接矩阵表示法//图的最小生成树Prim算法//逐个顶点的找出最小生成树 #include <iostream>using namespace std;#define max_vertex_num 20int vex_num;//顶点个数char v[max_vertex_num];//存储顶点int arcs[max_vertex_nu.

2020-11-24 21:24:18 256

原创 图的邻接表表示法及深度优先、广度优先遍历算法

知识点:1、图的邻接表表示法;2、图的深度优先算法;3、图的广度优先算法。//图的邻接表表示法//基于邻接表表示法的图的遍历 #include "string.h" #include<stdlib.h>#include<queue> #include<iostream>using namespace std;typedef struct ArcNode{ int adjvex;//邻接点 double weight;//边的信息 A

2020-11-24 21:22:01 1023

原创 图的邻接矩阵表示法及深度优先、广度优先遍历算法

知识点:1、图的邻接矩阵表示法;2、图的深度优先遍历算法;3、图的广度优先遍历算法。//图的邻接矩阵表示法//基于邻接矩阵表示法的图的遍历 #include "string.h" #include<stdlib.h>#include<queue> #include<iostream>using namespace std;struct MGraph{ char* vexs[100];//存储顶点信息,0下标处不存储数据 doub.

2020-11-24 21:20:13 1499

原创 win10下截屏快捷键

windows键+shift键+S键,在win10下就可以调用截图程序,拖动鼠标选中要截的图,就到了剪切板上了,ctrl+v粘贴到word等媒体中就行了。

2020-11-17 18:51:22 325 2

原创 对一棵二叉树进行哈夫曼编码--递归法--回溯法

完全实现构造哈夫曼树、进行哈夫曼编码是一个浩大的工程。对于初学者,可能好久都不能把哈夫曼树构造出来。下面我们手工构造一棵基于二叉链表的树,且假定其就是哈夫曼树。然后,我们采用自上而下递归的方法对其进行编码。直接上代码啦。#include <string>#include <iostream>using namespace std;struct node{//树的结点结构。二叉链表表示法 char data; node *lchild,*rchild;

2020-11-17 18:34:15 894

原创 邱同学写的huffman编码程序

学过了哈夫曼编码知识点,邱同学就给我发来了相关程序,看起来还不错。贴出来,以飨大家。

2020-11-17 18:27:58 165

原创 cin输入字符时的一个坑---默认会跳过空格

我们知道,在C++中定义一个字符变量并进行输入输出的代码如下:char a;cin>>a;cout<<a;那么,读下面的程序:#include<bits/stdc++.h>using namespace std;int main(){ char a,b,c,d; cin>>a; cin>>b; cin>>c; cin>>d; cout<<a&lt

2020-11-17 15:15:23 1690

仅用20页文档,以int类型为例,讲解c语言的梗概-zztC语言入门.pdf

仅用20页文档,以int类型为例,讲解c语言的梗概

2021-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除