唯爱编程语言
文章平均质量分 71
本专栏专注于编程语言,结合理论与实践,包括C++,Python,Java等,包含编译问题,学习笔记,项目实战讲解等,希望大家喜欢。
水亦心
这个作者很懒,什么都没留下…
展开
-
【数据结构周周练】001顺序表与链表(含上海大学832计算机组成原理与数据结构原题)
目录前言一、练习1:删除顺序表指定部分元素1、题目2、代码3、运行结果二、练习2:逆置链表1、题目2、代码3、运行结果三、练习3:拆分链表1、题目2、代码3、运行结果前言从这周开始,我会不定期发一些数据结构练习题,一方面,提升自己的编程能力,给自己考研代码题打基础,虽然逻辑都明白,但是一次性写对代码还是有问题,思维不细致;另一方面,给想学...原创 2018-10-08 17:44:56 · 1305 阅读 · 4 评论 -
【数据结构周周练】002顺序表与链表
目录习题一:求子表并比较大小1、题目2、链表实现3、顺序表实现习题二:判断是否为子表1、题目2、链表实现3、顺序表实现这次一共只有两道题,每道题用两种线性表:顺序表与链表分别实现,但是关于求数组长度的函数还是有待完善的,在一些编译器下编译会出问题,主要是题目的算法原理啦,如果大家能够更好的算法实现,在下面评论哦!习题一:求子表并比较大小1、题目将数组...原创 2018-10-11 20:53:10 · 588 阅读 · 0 评论 -
【数据结构周周练】003顺序栈与链栈
这次只有一道题,采用了五种算法来实现,一个是普通方法,不采用任何结构,一个是用顺序表,一个是用链表,一个是用顺序栈,一个是用链栈。但是结构定义和算法实现方法不唯一,如果大家有其他的算法实现,在下面评论哦!目录习题一:求子表并比较大小1、题目2、普通方法实现3、顺序表实现4、链表实现5、顺序栈实现6、链栈实现习题一:求子表并比较大小1、题目I表示入栈...原创 2018-10-13 21:43:57 · 1251 阅读 · 0 评论 -
【数据结构周周练】004顺序栈与链栈 -数制转换
这次只有一道题:数制转换,采用了顺序栈和链栈。这是栈的一个很经典的应用,不过结构定义和算法实现方法不唯一,如果大家有其他的算法实现,在下面评论哦!目录习题一:数制转换1、题目2、顺序栈实现代码执行结果3、链栈实现代码执行结果习题一:数制转换1、题目将一个十进制的数转化为八进制。2、顺序栈实现代码#define MAXSTACKSIZE ...原创 2018-10-15 18:24:09 · 1292 阅读 · 0 评论 -
【数据结构周周练】007顺序结构实现完全二叉树操作- 求编号i与j最近公共祖先结点
树型结构是数据结构中学到的第一个一对多的结构,是非常重要的非线性结构,也是比较难的一个结构,由于一叉树是顺序表,三叉树比较复杂,最常用的是二叉树。从这次开始就带领大家走进树的世界。目录一、题目二、代码实现三、运行结果注意:1、树的相关术语也比较多,操作也比较多,在这里,我只写了该次练习所用到的操作及相近操作。后续的树的练习还会不断完善。2、本次实现的树的代码与书上讲的代...原创 2018-10-17 23:17:50 · 2257 阅读 · 0 评论 -
【数据结构周周练】008 二叉树的链式创建及测试
一、前言二叉树的顺序结构实现虽然很容易,但是在创建过程中,不免要浪费掉很多空间,为了减少空间浪费,从而提出链表的链式存储,虽然链式存储也很浪费空间,但是在某些二叉树中要节约很多空间,同时,浪费的这些空间我们可以用于存储其他信息,我们在后续的线索二叉树代码中会给大家讲解到。本文的所有代码都是根据自己的理解编写的,严蔚敏老师的数据结构书上并没有在创立之初就给出普通二叉树的创建过程,而是通过二叉...原创 2018-10-19 00:24:14 · 512 阅读 · 0 评论 -
【数据结构周周练】009 二叉树的先序、中序、后序遍历(递归算法实现)
一、前言上一篇周周练博客讲了二叉树的链式创建,通过创建栈来存放结点,方便二叉树的创建过程,同时呢,二叉树的创建过程就是二叉树的遍历过程,如果创建好一个二叉树之后,就无需再通过那么麻烦的算法,可以直接通过递归来实现,算法原理比较简单,实现也很简单。大家如果学过数据结构,相信大家对二叉树的三种遍历方式都有所了解,分别是:先序遍历,中序遍历以及后序遍历。详细的概念在此就不过多赘述,只教给大家一个...原创 2018-10-19 21:28:10 · 2770 阅读 · 0 评论 -
【数据结构周周练】010 递归算法实现二叉树的创建与遍历
一、前言上两篇周周练博客讲了二叉树的创建与遍历,创建时,通过创建栈来存放结点,方便二叉树的创建,这种创建二叉树的方式采用了非递归算法,本次内容采用递归的方式来创建二叉树,大家可以通过对比代码量,感受一下递归的魅力。同时遍历过程也是通过递归算法。如果大家第一次看我的博客是这一篇,这里给大家链接,方便大家了解非递归二叉树遍历及三种遍历方式的理解方式。1.非递归二叉树创建:【数据结构周周练】...原创 2018-10-20 20:21:17 · 888 阅读 · 0 评论 -
【数据结构必备基本知识】递归与迭代的联系、区别与优缺点对比详解
在后续的数据结构操作中,可能我们经常会用到递归或者是迭代,这会大大降低我们的代码量,并且能够解决一些其他方法很难解决的问题。以上一篇二叉树的遍历为例,通过递归算法,只用几行就可以遍历整个二叉树,递归的作用可想而知。那么,什么是递归,什么是迭代,他们二者之间有什么联系,有什么区别,各自的优缺点是什么呢?接下来给大家详细讲解一下。一、递归( recursion)1、定义首先,递归是一种...原创 2018-10-19 23:10:09 · 16789 阅读 · 3 评论 -
C++函数返回值介绍(含return 0 与 return 1 与 return -1介绍)
很多人在学习C++ 的过程中应该会留意到返回值的问题,特别是习惯用:int main() 的猿类同伴们。我们需要在函数结尾写个返回值。int main(){ return 0;}接下来就给大家简单介绍一下返回值。一、返回值类型C++函数可以返回多种类型,大致可分4种:1. 返回void(无返回值);2. 返回对象(内置类型对象和自定义对象);3. 返回指针(...原创 2018-10-15 20:05:29 · 59941 阅读 · 3 评论 -
C++报错:读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突
问题截图 问题来源写队列程序时,分配内存空间时报错。Q->front = Q->rear = (QueuePtr)malloc(sizeof(QNode));解决方案修改Q 的类型,去掉*,不设置指针类型。修改后代码如下:typedef struct QNode { char data; struct QNode *next;}QNode,*Que...原创 2018-10-15 21:16:33 · 37760 阅读 · 1 评论 -
【数据结构周周练】005顺序队列与链队 -扑克牌的筛选
没有找到有关于队列的经典题目,想到以前一个游戏,觉得改编一下可以当作一道队列的编程题来做。把这道题与自己的算法分享给大家,如果大家有更好的算法,欢迎大家一起交流讨论。由于普通队列在实现时,采用顺序存储,会浪费掉大量的空间,所以一般在循环队列采用顺序存储,普通队列采用链式存储。一、题目二、顺序循环队列实现1、代码2、执行结果三、链队实现1、代码2、执行结果一、题目...原创 2018-10-15 21:36:38 · 503 阅读 · 0 评论 -
【数据结构周周练】006队列基本操作-顺序结构及链式结构实现
今天给大家带来的是队列的基本操作的算法实现,以及相关代码的执行结果,包括初始化、入队、出队、销毁队、清空队、求队长、遍历队等等。把自己写的代码分享给大家,实现方式不唯一,如果大家有更好的算法,欢迎大家一起交流讨论,也欢迎大家在下面评论。由于普通队列在实现时,采用顺序存储,会浪费掉大量的空间,所以一般在循环队列采用顺序存储,普通队列采用链式存储。一、顺序循环队列实现1、代码2、执行结...原创 2018-10-16 22:57:45 · 464 阅读 · 0 评论 -
java学习(19)图形用户界面(3)
/** * 一、多行文本框组件(JTextArea) * 二、选项卡窗格(页签组件)JTabbedPane * 三、菜单组件 * 1.JMenuBar 菜单条组件 树干 * 2.JMenu 菜单组件 树枝 * 3.JMenuItem 菜单项组件 树叶 * 四、二级菜单制作 * JMenu里面可以嵌套JMenu * 五、工具条组件 * ...原创 2018-02-20 22:21:23 · 410 阅读 · 0 评论 -
java学习(20)图形用户界面(4)
/** * 一、项目实战选择坦克大战,涉及知识(温故知新) * 1.面向对象 * 2.界面编程 * 3.绘图技术 * 4.多线程 * 5.文件I/O操作 * 6.数据库 * 二、Java绘图坐标体系 * 坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位。坐标(x,y)表示水平向右x,竖直向下y。 * 像素:1像素 = ?像素 * ...原创 2018-02-21 22:46:06 · 415 阅读 · 2 评论 -
java学习(21)事件处理机制(1)
/** * 一、初步介绍 * 1.java时间处理是采取“委派事件模型”,指当事件发生时,产生事件的对象(即事件源)会把此“信息”传递给“事件的监听者”处理的一种方式。 * 该“信息”是java.awt.event.*事件类库里某个类所创建的对象,我们称为:事件的对象。 * 为了让“产生事件的对象”[比如按钮]知道要把事件传递给哪个“事件监听者”,我们必须先把“事件监听者...原创 2018-02-25 00:06:15 · 289 阅读 · 0 评论 -
java学习(22)线程(1)
* 一、进程 * 进程指运行中的应用程序,每个进程都有自己独立的地址空间(内存空间)如用户点击桌面的IE浏览器,就启动了一个进程。 * 操作系统就会为该进程分配独立的地址空间。当用户再次点击左面的IE浏览器,就又启动了一个进程。操作系统将为新进程分配新的独立的地址空间。 * 目前操作系统都支持多进程。(尝试去使用别人的地址空间,被认为是病毒。一般正常软件只会在自己的地址空间运行...原创 2018-02-26 23:21:39 · 277 阅读 · 0 评论 -
【数据结构基础笔记】第一章绪论之基本概念
目录一、简要1、涵盖内容2、学习要求3、参考书目二、重要笔记1、基本概念2、数据结构一、简要1、涵盖内容1、数据结构的基本概念,数据的逻辑结构、存储结构。2、算法的定义、算法的基本特性以及算法分析的基本概念。2、学习要求1、会数据结构的几种类型,基本概念;2、掌握数据结构类型和抽象数据类型;3、掌握算法的五个要素及特点;4、掌握评价算...原创 2018-07-27 22:01:39 · 1252 阅读 · 0 评论 -
【数据结构基础笔记】第一章绪论之算法及算法分析
目录一、简要1、涵盖内容2、学习要求3、参考书目二、重要笔记1、算法2、算法效率度量一、简要第一章一共四小节,只有第四节单独作为一个博客发表,不仅仅是这一节在我心中地位比较重要,这一节在考研,期末考试和以后的码农生涯都会有重要作用。我不能说我这一节总结的有多好,但我还是希望能拿出来与大家分享。1、涵盖内容1、算法的定义、算法的基本特性以及算法分析的基本概...原创 2018-07-28 16:54:05 · 1204 阅读 · 0 评论 -
【数据结构基础笔记】第二章线性表之基本概念与类型定义
目录一、线性结构1、线性结构特点二、线性表1、定义2、特点3、注意点4、基本操作一、线性结构1、线性结构特点在数据元素的非空有限集中1.存在唯一被称为“第一个”的数据元素;2.存在唯一被称为“最后一个”的数据元素;3.除第一个之外,集合中每个数据元素都只有一个直接前驱;4.除最后一个之外,集合中每个数据元素都只有一个直接后继;二、线性表...原创 2018-08-02 22:27:32 · 1010 阅读 · 0 评论 -
【数据结构基础笔记】第二章线性表之顺序表
目录一、简要1、涵盖内容2、学习要求二、顺序表定义及相关概念1、特点2、注意点三、线性表的实现1、顺序表的创立2、顺序表的操作3、代码应用一、简要第二章一共四小节,第二节讲的是顺序表的相关概念及实现,顺序表是线性表的顺序存储结构,是后续顺序存储的基础。在本节代码中,我会加上我大量的个人代码理解,包括我思考的一些问题和我自己得到的答案(问题加粗并设为绿...原创 2018-08-03 18:47:57 · 2592 阅读 · 7 评论 -
关于runat = “server”
问题来源 在学习ASP的过程中,遇到一个问题,有一个按钮,没有像HTML一样给它设置事件,也没有写函数,但是点击它还是会有别的操作。比如下面这个:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="001IsPostBack属性.aspx.cs" Inherits="WebDesign._001IsPostBack...原创 2018-07-04 20:31:39 · 5812 阅读 · 0 评论 -
C++报错:无法打开文件“路径\Debug\文件名.exe”
错误描述错误分析这种错误一般都是由于上次编译运行后的exe程序没有关闭,或者仅仅关闭界面,没有关闭后台应用导致。解决方案如果在任务栏,大家发现下面的图片,这个是编译运行后的小控制台应用程序。直接点击还原关闭,或者右键关闭即可。如果没有该图标,或者其他运行的图标(MFC,或者C#窗体等等),很有可能是大家关闭过程中,只关闭了界面,但是程序依然在后台运行中,找到任务管理器,...原创 2018-08-04 23:21:53 · 10750 阅读 · 1 评论 -
C++报错:The build tools for v141 (Platform Toolset = 'v141') cannot be found.
【问题内容】The build tools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual ...原创 2018-06-15 20:14:05 · 39309 阅读 · 13 评论 -
C++常用数学函数
C++中有个头文件math.h ,它是数学函数库,一些数学计算的公式的具体实现是放在math.h里,为了方便大家使用,特在此总结常用的一些函数。1 三角函数double sin (double);double cos (double);double tan (double);2 反三角函数double asin (double); //结果介于[-PI/2, PI/2]d...原创 2018-07-23 17:42:51 · 7453 阅读 · 0 评论 -
Python import相关内容区别介绍( import *** as 、from***import )
在python中import或者from…import是用来导入相应的模块。那每一种有什么具体的差别呢?一、import 只有import,为最简单的引入对应的包。例如:import pickle #引入 pickle包import os #引入 os包二、from A import B 这种方式意味着从A中引入B。相当于:impor...原创 2018-06-12 10:27:52 · 4069 阅读 · 1 评论 -
Python报错:UnicodeDecodeError: 'gbk' codec can't decode byte ...
python读取文件时提示:UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 82: illegal multibyte sequence解决方法: 在文件的右括号前面加上: , encoding='UTF-8'例如:错误代码是:in_file = open('AAA/%s.xml'%(ID))改为如...原创 2018-06-12 11:31:44 · 7009 阅读 · 0 评论 -
Python错误:PyCharm 安装出错 Internal error,please。。。
安装Pycharm时,错误提示如下:啊,对于一个非计算机专业的小编来说,这种错误真的是……心里有千万只西域羊驼奔腾而过。更为坑爹的是:网上居然找不到关于PyCharm的的解决方案。所以只好看Android Studio的解决方案,找到了如下几种:方法一:通过关闭防火墙在服务里关闭Windows Firewall,设置成禁用,启动Android Studio。不成功看方法二;方法二:通过disabl...原创 2018-06-17 09:28:30 · 22547 阅读 · 14 评论 -
Python学习一之环境配置
在本文中,我们用到的软件有集成开发环境IDE:Pycharm,还有Python安装包,根据自己电脑系统选择32位或者64位。本文以64位为例安装。(注:相关安装包大家可以在网上下载)1.安装Python安装包选择安装为所有用户,点击下一步。2.选择安装路径最好不要安装在C盘,在本文中安装在D盘,点击下一步3.添加环境变量选择添加环境变量,可以让Python在当前环境下运行,比如可以在命令行中运行验...原创 2018-04-01 10:07:24 · 1150 阅读 · 1 评论 -
Python学习二之PyCharm编程软件配置
啦啦啦,编程环境搭建完了,手都痒痒了,话不多说,马上开动。当然不要心急,先配置软件,方便以后使用啊!对于第一次编程的宝宝们,安安静静的选择Create New Project就可以啦,如果说已经有过Python项目的可以直接打开哦。一定要找一个位置来存放你的项目,for example ,然后在右下角,有个孤零零的小按钮,点击它就可以开始啦。 对于这个玩意,想学英文的...原创 2018-04-01 11:50:02 · 663 阅读 · 0 评论 -
Python学习三之基础语法
1.Python 标识符在python里,标识符有字母、数字、下划线组成。在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(__foo)代表类...原创 2018-04-01 12:25:40 · 337 阅读 · 0 评论 -
Python学习四之变量类型
一、Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 废话说的有点多,说的简单点,就可以理解为一个盒子,里面放着一个小东西,那个小东西是什么,决定这个盒子是什么。Pyt...原创 2018-06-11 08:31:39 · 1015 阅读 · 0 评论 -
Java报错:No enclosing instance of type learnJ is accessible.
错误代码:public class learnJ { /** * 作者:XXX * 日期:2018.01.26 * 内容:学习Java */ class Person{ int age ; String name; } public static void main(String[] args) { // TODO Auto-generated metho转载 2018-01-26 11:51:16 · 625 阅读 · 0 评论 -
Java报错:Exception in thread "main" java.lang.UnsupportedClassVersionError
报错如下:错误原因检查之后发现,原来是所在包的应用的jdk与电脑上安装Eclipse中默认设置的jdk不同,导致该错误。解决方案点击菜单栏下的Preferences,进入Preferences后,点击Java-Compiler,在jdk Compliance处选择对应的版本,由于我采用的是1.8(如下图)所以,我选择在下面选择1.8。然后点击应用并关闭(Apply and Close)。...原创 2018-07-14 15:45:11 · 13303 阅读 · 1 评论 -
java学习(2)类变量与实例变量
public class learnJ { /** * 作者:shuiyixin * 日期:2018.01.28 * 内容:学习Java * 一、类变量与实例变量: * 1.加上static为类变量或者为静态变量,否则称之为实例变量。 * 2.类变量是与类相关的,公共的属性。 * 3.实例变量属于每一个对象个体的属性。 * 4.类变量可以通过类名,类变量名原创 2018-01-28 21:42:10 · 408 阅读 · 0 评论 -
java学习(3)类的四大特性1
* 一、抽象 * 1.简单理解: * 把一类事物的共有的属性和行为提取出来,形成一个物理模型,这种方法叫抽象。 * 二、封装 * 1.简单理解: * 把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部。 * 程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。 * 2.访问控制修饰符: * 对象中的一些部分是公开的,其他部分是非原创 2018-01-28 21:55:02 · 443 阅读 · 0 评论 -
java学习(4)类的四大特性2之继承
/*笔记: *一、继承的作用: * 解决代码复用,让我们的编程可以更加接近人类的思维。 * 当多个类存在相同的属性和方法的时候,可以从这些类中抽象出父类, * 在父类中定义相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类。 * 这样子类就会有父类的属性和方法。 *二、继承注意点: * 1.子类和父类原创 2018-01-29 23:15:36 · 271 阅读 · 0 评论 -
java学习(5)类的四大特性2之继承(方法重载)
* @笔记 * 方法重载 * 一、例题:编写一个类,可以接收两个整数,并返回最大数。 * 二、理解:定义一个类,在类里编写两个方法,分别返回不同类型的值。 * 三、概念:方法重载就是类的同一种功能的多种实现方式,具体采用哪种,根据调用者给出的参数。 * 四、构成重载的要求: * 1.方法名相同。 * 2.方法的参数类型,个数,顺序至少有一项不同。 *原创 2018-01-31 23:17:15 · 278 阅读 · 0 评论 -
java学习(6)类的四大特性2之继承(方法覆盖)
* @笔记 * 方法覆盖 * 一、例题 * 建立一个动物类。动物有一个方法,并且子类也有相同的方法。 * 二、概念 * 子类的一个方法和父类的一个方法的名称,返回类型,参数完全一样,那么我们称子类的这个方法覆盖了父类的那个方法。 * 三、注意事项 * 1.子类的方法的返回类型,方法名称,参数要和父类完全一样,否则编译出错。 * 2.子类方法不原创 2018-02-01 22:17:21 · 247 阅读 · 0 评论 -
java学习(7)类的四大特性2之继承(抽象类)
* @笔记 * 一、注意 * 1.抽象类中方法和类前都要加上abstract,来表示该类为抽象类。不加abstract的类中不能有抽象方法。 * 2.抽象方法不能有{},如果有{}就不能称为抽象方法。即抽象方法不能有主体。 * 3.当一个类继承的父类为抽象类的时候,必须把父类中所有的抽象方法全部实现。 * 要注意的是,只要方法有了{}就是实现,函数体原创 2018-02-02 21:32:15 · 457 阅读 · 0 评论