- 博客(41)
- 资源 (3)
- 收藏
- 关注
原创 c/c++ 输入两个日期,计算日期相差多少天
1,题目:有两个日期,计算它们之间的差值,如果两个日期是连续的,则按照2天算。日期格式规定为YYYYMMDD,例如202007092,基本思路(1)输入两个日期(2)以小的日期为底,每次加一天,直到与大的日期相等即可(2.1)增加一天后,月份,年份都可能会随之变化。针对闰年平年以及大小月天数都一样,采用一个12*2的二维数组列出12月的润平年的天数。(2.2)当达到月份的天数时,月份加1(2.3)当达到12个月时,年份加13 代码#include <iostream>#in
2020-07-09 09:27:29
9053
1
原创 c/c++实现 输入n个数字,然后找出其中两个数字相加后等于m------【排序算法的妙用】
基本思路:最简单的暴力方法就是,两层循环一个一个试一遍相加后是否等于m,但是复杂度太高O(n^2)思考是否可以遍历一遍就可以找出来呢?可以预设一个开头标记、一个结尾标记,两个标记相互靠拢的方式,如果两个标记所指向的数字相加等于m 那么就找到了这两个数。但是,如何靠拢呢?如果是同步的靠拢,会漏掉很多情况,可能会得到正确结果,但程序也是不可靠的。如果是不同步的靠拢,那么两个标记需要按照规则方式进行不同的移动,但是当前n个数字是乱序的,没有什么好的判断规则,因为你不知道换成下一个数的时候是大了还是小.
2020-07-06 10:52:42
1407
原创 c/c++判断子串在主串中的位置(朴素模式匹配算法)-----通俗易懂(口诀记忆)
1,说明如果字符串b是字符串a的子串,则返回b第一次出现在a中的位置。否则 不是子串注意 空串是任何串的子串,且出现的位置为0.2 基本思想假设a是主串,简单的方式是:想用一个外层循环遍历字符串a的每一个字符,在遍历过程中,在使用一个内层循环,以当前主串中a的字符为起始,去和子串b进行一一对比,如果对应对比成功 就找了3代码#include <iostream>#include <stdio.h>#include <cstring>using name
2020-07-01 12:00:22
2910
原创 c/c++ 中 糟糕的strlen用法----- 知道必不犯
字符串库函数 strlen 大家很熟悉 就是获取字符串的长度。我们常常会用来作为遍历字符串的界限值下面有一种写法,是新手最容易忽略的,strlen写法。请看代码:#include <iostream>#include <stdio.h>#include <cstring>using namespace std;int main() { char a[] = "hello"; for (int i = 0; i < strlen(a); i++
2020-06-30 11:43:22
908
原创 C/C++中二维数组作为函数参数------方法及要点讲解
**1,形参给出第二维的长度。**C/C++中二维数组作为函数参数 的时候,可以不写行号,但是一定要写明列号(一定注意,一定注意,一定注意!)。int array[3][3];函数声明:void fuc(int a[][3]);函数调用:fuc(array);——在函数fuc中,a是二维数组。使用a[i][j]形式来访问数组中元素。原因:必须要写明下标,编译器才能根据下标计算出元素的地址**2,形参声明为指向数组的指针,一定要写明列号(一定注意,一定注意,一定注意!)。**int
2020-06-28 09:12:43
3701
1
原创 C/C++语言程序实现矩阵相乘----通俗易懂(口决记忆)
一:先看下面两个矩阵相乘:矩阵A和B都是两行两列,矩阵相乘时,A的行元素乘以B的列元素,然后相加。即202+51=45作为C11(矩阵C的第一行第一列)201+54=40作为C12(矩阵C的第一行第二列)152+101=40作为C21(矩阵C的第二行第一列)151+104=55作为C22(矩阵C的第二行第二列)学过线性代数的,肯定非常熟悉!二:例题三:解题思路:(1)使用a【8】【8】和b【8】【8】 两个二维数组,接受用户使用键盘输入2个矩阵。二维数组c作为结果矩阵。(2)思路:通
2020-06-27 11:25:59
3942
原创 判断是否是闰年---c、java、c++等,以经典的方式实现
一:首先明确 什么是闰年?记住两句话:1、能被4整除,但不能被100整除;2、能被400整除;二:怎么实现?if else+ 运算符% 、&& 、||#include <iostream>using namespace std;int main() { int year; cin >> year; if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) cout
2020-06-27 09:42:07
503
原创 输入正整数n(n大于等于2),求不大于n的全部质数(素数)【其中一种优化算法:筛选数组法】
1, 质数(素数)概念:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。例如:3 只能被1和3整除,5,7,9 这些都是。4,6这些都不是质数(注意2是质数)。2 基本思想:利用数组存储所有数值,筛选出全体质数(1)输入n,创建数组p,数组的内容从0开始依次增1(2)循环遍历数组p,从下标(记为i)为2的开始(2.1)如果当前的 p[i] 不是质数,continue 筛选下一个(2.2)检查数组p中从下标i之后的元素是否为素数。(2
2020-06-26 12:07:15
3429
原创 C语言数组 :用户输入一个数, 我要用这个数当数组的长度。怎么办呢
C语言不支持动态数组,也就是说,数组在定义时就要指定长度,把输入数作为它的长度那就说明定义时没有指定长度,这是不合法的。使用 指针+动态分配malloc int* p; int n; scanf("%d", &n); p = (int*)malloc(sizeof(int) * n);...
2020-06-26 11:25:55
6216
2
原创 输入正整数n(n大于等于2),求不大于n的全部质数(素数)【其中一种优化算法】
1, 质数(素数)概念:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。例如:3 只能被1和3整除,5,7,9 这些都是。4,6这些都不是质数(注意2是质数)。2,基本思想:(1)首先2肯定是一个质数,先打印出来(2)使用循环,从3开始到不大于n。优化要点:不要都遍历到,把偶数的给排除,4,6。。。这些都不是质数(2.1)判断当前这个数是不是质数:使用循环,做模运算,如果==0 就不是质数 退出。优化要点:只检测到根号下就可以了。(
2020-06-26 10:51:49
4901
原创 输出质数(素数)编程题中,判断当前数是否为质数时,只验证要除到根号 原因分析
int main() { int n=0; //输入的n cin >> n; cout << 2 << endl; // 先输出2 for (int i = 3; i < n; i += 2) {//使用循环检测(<=n)的所有数。优化要点:排除大于2 的偶数,减少不必要的运算 int j; for (j = 3; j < sqrt(i); j++) {// 使用循环。优化要点:只检测到根号下就可以了。 if (i%j ==0){.
2020-06-25 10:56:05
1573
1
原创 vs开发工具一个工程多个main,如何选择运行指定的main-------- 方便写编程题用
新建工程--》源文件 。找到你的.cpp文件。直接上图这顿操作的意思,就是当前这个cpp文件的main不生效了。所以,先把所有的cpp文件用上面截图的操作搞一波,然后你想运行那个cpp,常规-》从生成中排除 设置成(否),那么这个cpp就可以运行了...
2020-06-25 10:36:54
3235
2
原创 一文掌握python---集合数据类型and字典数据类型基础知识(set、frozeset、dict)
本文思维导图文章目录本文思维导图集合数据类型1,集合set:可变对象。2,不可变集frozenset:不可变对象字典数据类型集合数据类型集合数据类型表示若干数据的集合,数据项目没有顺序,且不重复。python集合数据类型包括以下两种。1,集合set:可变对象。集合是一个无序的不重复元素序列。(1)使用集合字面量来创建Set对象a ={1,2,3,3,3}print(type(a...
2020-04-30 18:20:23
269
原创 一文掌握python---序列数据类型基础知识(str、tuple、bytes、list、bytearray)
本文思维导图文章目录本文思维导图序列数据类型不可变序列数据类型包括3种:1,字符串str2,元组类型tuple3,字节序列(bytes)可变序列数据类型包括2种:1,列表类型list2,字节数据bytearray序列数据类型序列数据类型表示若干有序数据。python序列数据类型分为不可变序列数据类型和可变序列数据类型。不可变序列数据类型包括3种:1,字符串str字符串是一个有序的字符...
2020-04-30 18:12:58
2337
原创 一文掌握python ---数值类型基础知识(int、float、bool、complex)
概述:在python语言中一切皆为对象,而每个对象属于某个数据类型。python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型。通过字面量或调用对象的构造方法可以创建数据类型的实例对象,然后使用运算符、内置函数、系统函数和对象方法进行运算操作。数值数据类型python中包括4种内置的数值类型。数据类型是不允许改变的,这就意味着如果改变数值数据类型的值,将重新分配内存...
2020-04-30 18:00:00
2625
原创 python程序设计流程(九) ---循环结构
循环结构简介:循环结构用来重复执行一条或者多条语句,使用循环结构可以减少源程序重复书写的工作量。许多算法需要使用到循环结构,python使用for语句和while语句来实现循环结构。可迭代对象:可迭代对象一次返回一个元素,因此适用于循环。python()包括以下几种可迭代对象:序列,例如字符串、列表、元组等;字典;文件对象;迭代器对象;生成器函数。迭代器是一个对象,表示可以迭代的数据集合,包...
2020-04-12 22:56:40
2482
原创 python程序流程控制(八) ---顺序结构、选择结构
本文思维导图顺序结构若程序中的语句按各语句出现位置的先后次序执行,称为顺序结构。选择结构选择结构可以根据条件来控制代码的执行分支,也叫做分支结构。python使用if语句来实现分支结构。分支结构的形式:分支结构包含单分支、双分支和多分支单分支结构:if语句单分支结构的语法形式:if(条件表达式): 语句或者语句块其中:1,条件表达式可以是关系表达式、逻辑表达式、算术表...
2020-04-11 10:49:22
2801
原创 python基础(七) ---简单了解函数、模块
本文主要简单的介绍,后面的文章在详细的探讨。函数python中包括许多内置函数,例如print()、max()等,用户也可以自己定义函数。函数是可以重复调用的代码块,使用函数可以有效地组织代码,提高代码的重用率。函数的创建和调用:1,python中使用复合语句def创建函数对象,语法格式是def 函数名(参数列表): 函数体2,函数的调用格式: 函数名(实参列表)在创建...
2020-04-08 19:44:58
650
原创 python基础(六) ---语句
本文思维导图python语句:前面的文章也稍微提到了一些语句方面的内容,这里详细的说一下,作为补充。语句是python程序的过程构造块,用于定义函数、定义类、创建对象、变量赋值、调用函数、控制分支、创建循环等。python语句分为简单语句和复合语句。简单语句:表达式语句、赋值语句、del语句、return语句、pass语句、assert语句、break语句、yield语句、continu...
2020-04-07 10:02:42
1076
原创 python基础大全(五)---表达式、运算符
本文思维导图表达式组成:表达式是可以计算的代码片段,由操作数和运算符构成。它是由操作数、运算符和圆括号按照一定的规则组成的表达式。同时,表达式看做一个整体时,他表示一个结果对象:通过运算后产生运算结果。这个运算结果的类型是由操作数和运算符共同决定的。表达式可以很简单,也可以非常复杂。当表达式复杂的时候,我们阅读起来就很不是那么容易了。当表达式包含很多运算符的时候,我们掌握好运算符的计算顺...
2020-04-06 09:11:43
2409
原创 Python基础(四)---标识符、变量
标识符标识符是变量、函数、类、模块、其他对象的名称。标识符的第一个字符必须是字符、下划线,其后的字符可以是字母、下划线或者数字。举一些正例:a_for,_hello举一些反例:11vv,for,*dd 都是错误的。六大注意:1,数字不能是第一个字符。2,例如if ,while等关键字不能当做标识符。3,不能包含空格、@、% 以及 $ 等特殊字符。4,python标识符区分大小写,也...
2020-04-05 21:33:12
1591
原创 python基础(三)---python程序的构成、对象概述
python程序的构成程序1:求一个三角形的面积,假设三个边a=3 b =4 c =5.import matha =3.0b =4.0c =5.0h =(a+b+c)/2 #三角形周长的一半s =math.sqrt(h*(h-a)*(h-b)*(h-c)) #根据公式求面积print(s)python程序可以分解为模块、语句、表达式和对象。从概念上理解,其对应关系如下:p...
2020-04-04 20:39:50
734
原创 Python基础(二)---python语言版本和开发环境
Python语言版本Python发展到现在,经历了多个版本,大家可以在Python官网查看,网址是https://www.python.org/downloads/截至目前,仍然保留的版本主要是基于Python 2.x和Python 3.x。因为早期的 Python版本在基础方面设计存在着一些不足之处。2008 年的时候 Guido van Rossum 又重新开发 Python 3.0(被称...
2020-04-03 22:36:21
410
原创 python基础(一)---你好呀python,初次见面。
**一:python诞生**python创始人:吉多*范罗苏姆说到Python,它的诞生是极具戏曲性的,重度肥皂剧爱好者Guido(龟叔)为了打发圣诞节的无趣,开发了新的脚本解释程序,这就是传说中的Python诞生记。之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是一个叫 Monty Python 戏剧团体的忠实粉丝。而且,从Java之父、C++之父、PHP之...
2020-04-02 20:39:44
546
原创 tomcat的bin目录下运行startup.bat闪退
在环境变量中添加配置1,JAVA_HOME(java) CATALINA_HOME(tomcat)2,设置path
2019-01-23 09:50:38
742
转载 学习网址
1,https://blog.csdn.net/flysun3344/article/details/79927202 IntelliJ IDEA 使用教程(2017图文版) – 从入门到上瘾
2019-01-18 10:52:41
1041
原创 快速生成get、set方法
第一步:‘建一个Hello类 ’第二步:屏幕 右键-》source-》Generate Getters and Setters。 点击ok 即可 生成一个pojo
2018-03-26 09:54:09
6491
2
原创 在pom文件中添加jar包的方法
第一步: 打开pom文件,选择dependencies页面. 第二步:点击add , 第三步:搜索相应的jar包,添加。例如spring框架相关的jar
2018-03-26 09:41:46
4035
原创 java的static final 和final static区别
这两个没有什么区别,只是顺序不同而已,和 int []arr、int arr[]一个道理。平常都习惯static final
2016-05-09 09:02:59
3147
原创 基于Service的音乐播放器
Service简介Service是android四大组件中与Activity最相似的组件,他们都可代表可执行的程序。Service与Activity的区别在于:Service一直在后台运行,他没有用户界面,所以绝对不会到前台来,所以Service也有自己的生命周期BroadcastReceiver简介BroadcastReceiver也是安卓的四大组件之一,这种组件实际上就是一种全局的监听器,
2015-07-01 21:15:38
997
原创 数据结构算法代码实现——树与二叉树(一)
树的基本概念树状结构是一种典型的非线性数据结构。直观看来树是以分支关系定义的层次结构(一对多)。 1,树的定义树的定义:树是n(n>=0)个结点的有限集。(1)当n=0时,称为空树。(2)当n=1时,有且仅有一个称为根的结点。(3)当n>1时,有若干个互不相交的子树。通过上述的定义,可知树是一种递归的数据结构,即树的定义再次用到了自身的概念(也就是子树的定义)。2,树的表
2015-06-28 10:50:29
1495
原创 安卓网络编程——webView加载有道网页
安卓webView简介安卓提供了webView组件,webView本身就是一个浏览器的实现,它的内核基于开源webKit引擎。使用webView浏览网页webView的用法和ImageView组件的用法基本相似,常用的用法: void goBack(); //后退 void goForward(); //前进 Void loadUrl(String url); //
2015-06-23 08:07:16
558
原创 数据结构算法代码实现——栈和队列(二)
队列的定义和栈相反,队列(queue)是一种先进先出(FIFO)的线性表。它只允许在表的一端经行插入,而在另一端删除删除。我们把允许进行删除的一端称为队头,允许插入的一端称为队尾。在插入新元素到队尾的操作简称进队或入队,从队列中删除队头元素的操作简称出队或离队,若队列中无数据元素则称为空队列。队列的表示与实现和线性表类似,队列也可以有两种存储表示。1,队列的链式表示与实现。
2015-06-15 21:36:19
1070
原创 数据结构算法代码实现——栈和队列(一)
栈和队列栈和队列是一种特殊的线性表。从数据结构角度看:栈和队列也是线性表,其特点性在于栈和队列的基本操作是线性表操作的子集。它们是操作受限的线性表。从数据类型角度看:它们是和线性表不相同的两类重要的抽象数据类型。栈的定义栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。允许经行插入删除操作的表尾被称为栈顶,相应的表头被称为栈底。向栈中插入一个元素称为入栈(压栈),从栈中删
2015-06-11 18:14:11
4117
原创 数据结构算法代码实现——循环链表、双向链表(五)
循环链表 循环链表是一种特殊的链表,其特点是,表中最后一个结点的指针域指向头结点,整个链表的首位结点相连形成一个环。因此,从循环链表中的任何结点出发都可以找到其他结点 循环链表的操作运算和单链表的我操作基本相同
2015-06-09 22:49:36
1591
原创 数据结构算法代码实现——线性表的定义(一)
线性表的定义 线性表:是最常用且最简单的一种数据结构,它是一种线性数据结构,是由类型相同的n个(n≥0)数据元素组成的有序序列。 线性表的特点:有且只有一个被称作“第一个”的数据元素,有且只有一个被称为“最后一个”的数据元素。除第一个数据元素之外,其他元素都只有一个前驱,除最后一个数据元素之外,其他元素都只有一个后继。简单的说,其特点是数据元素之间存在”一一对应 (序偶关系)“的
2015-06-08 10:40:07
2795
原创 数据结构算法代码实现——静态单链表(四)
线性表的静态单链表存储结构//-------线性表的静态单链表存储结构-------typedef struct{ ElemType data; int cur;}component,SLinkList[MAXSIZE];什么是静态链表? 对于线性链表,也可用一维数组来进行描述。这种描述方法便于在没有指针类型的高级程序设计语言中使用链表结构。在如上描述
2015-06-05 14:02:32
973
原创 数据结构算法代码实现——线性表的链式表示与实现(单链表)(三 )
线性表的链式表示 使用一组任意的存储单元存储线性表的数据元素(这些存储单元可以是连续也可以是不连续的)。 常见的链式表:单链表、静态链表、循环链表、双向链表。链表的存储方式和特点我们修改一下上一篇文章的例子:假如现在是新生入校,按照新生的先来后到编号1-6,先到的同学可以随意选择床铺,但是需要记住下一位同学的床铺号(1舍友记住2舍友床铺号,2舍友记住3舍友床铺号,依次类推)。此时无形
2015-06-02 08:03:04
9916
原创 安卓自动登录demo——SharedPreferences的应用
SharedPreferences的应用SharedPreference的应用:有些时候,用于程序有少量的数据需要保存,这些数据的格式有很简单:字符串,基本类型变量的值等等。比如应用程序的各种配置信息,打开音效、是否引导界面、记住密码等等,对于这种数据,Android提供了SharedPreferences进行保存。自动登录例子效果图:首次登录是第一张效果图,然后输入正
2015-06-01 21:44:57
1968
原创 数据结构算法代码实现——线性表的顺序表示与实现(二)
线性表的顺序表示线性表的顺序表示:指的是一组地址连续的存储单元依次存储线性表的数据元素。顺序表的存储方法与特点在日常生活中,我们通常更喜欢使用连续的存储空间来存放各种物品。 好,举个例子:假设宿舍内的衣橱用编号1-6,宿舍内成员按年龄分出老大-老六,老大使用编号为1的衣橱。依次类推。如果将宿舍成员看做是逻辑顺序,每个衣橱看做是物理顺序,则逻辑顺序和物理顺序是一致的。
2015-05-28 20:28:49
11167
2
安卓自动登录demo
2015-06-01
安卓模拟新浪微博随便看看(带刷新)
2015-05-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人