- 博客(10)
- 收藏
- 关注
原创 多角度阐述Java面向对象
很多人在学习Java的过程中不断地听说对象这个字眼,尤其是从学习例如C语言这样面向过程的语言转而学习Java的时候更是从心里无法接受这一崭新的、抽象的、不明所以的概念,使得初学者对Java的学习产生厌倦的心理,甚至很多已经学习Java很久的人,依然对面向对象这一概念有些模糊。本文将从多个维度来阐释Java面向对象的含义。一、对象是一种思考方式 首先先对“对象”这一抽象又晦涩的...
2019-08-26 18:21:24
226
原创 详谈线性表中带头节点与不带头结点链表
之前给别人讲解过线性表这一数据结构,发现很多人在引入线性表的控制头后就把控制头指针与不带头节点链表的链表头指针混淆了,其实造成这一误区的根本原因还是对于带头节点链表与不带头节点链表的本质不够清楚。本文会通过线性表数据结构实现方式与线性表类的区别作为切入点,详细解释带头结点链表与不带头结点链表的区别。 首先我们区别三个概念:线性表,链表,链表类。 线性表是...
2018-07-14 18:59:57
2655
原创 浅谈Java中Collection、Iterable、List、ArrayList间的关系
Java是一个高级语言,它提供了很多现成的数据结构,给我们的编程带来了极大的遍历。这都是由Java编程的高手给出的,学习这里面的实现方式无论是对于我们使用这些工具还是对于掌握Java的编程之道都是很有帮助的。本文主要讲述Java中的表的实现方式。 首先来介绍Collection接口:Collection位于Java的java.util包中。顾名思义,Collection就是用来实
2017-10-13 20:42:00
10410
1
原创 高性能的贪吃蛇C语言实现
高性能的贪吃蛇C语言实现(西安微易码科技暑期项目实训课程) 贪吃蛇是一个非常火爆的经典的小游戏,由于其实现起来较为简单,而且对界面的要求程度不高,经常被初学者当做提升自身编程能力的一个例子,而且由于它带有一定的趣味性,对于培养编程爱好者的兴趣和提高自身信心有很大的帮助。但是由于它有游戏的体验以及带给人很大的成就感,使得人们在编写贪吃蛇时,经常会不顾一切的去实现贪吃蛇的功能以便于尽
2017-07-22 10:07:57
2497
1
原创 八皇后问题
八皇后问题是经典的递归问题,题目的要求是这样的:在国际象棋中,皇后是最强大的棋子,它可以吃掉任何跟自己同行,同列,或同一斜线上的棋子。求如何排列皇后,使得每一行都有一个皇后又让每一个皇后都不能互相攻击,给出所有的排列可能。 首先我们做一些基础工作:1、 用一个二维数组来表示棋盘,“0”代表该位置无棋子,“1”代表有皇后;2、 我们要能够判断一个位置是否能够放置皇后(即检测该
2017-06-04 16:43:34
854
2
原创 倒置链表
最近看了很多对于链表的操作,对链表的操作无非就是对指针的操作,因此,经常会使人晕头转账,今天跟大家分享一个逻辑不是很复杂,但是对指针的操作较为复杂的一个例子----倒置链表。 顾名思义,倒置链表就是将一个链表里的数据颠倒过来,使得原来的头成为尾部,原来的尾部变成第一个节点。当然,一个简单的方法,可以每次都取得当前链表的最后一个节点,将其前插到新生成的链表的第一个节点的位置,再将该
2017-06-01 16:45:57
1619
原创 C语言合并两个带头节点升序排列链表
合并链表,顾名思义,就是将两个按顺序存放数据的链表中的数据合并为用一个链表存储,比如在处理多项式的加减法时就需要将两个多项式的数据进行合并。合并方式有很多种:如果按照存储方式的不同,可以将两个链表的数据分别提取出来生成一个新的链表来存储原先两个链表的数据,还可以将其中一个链表的数据依次插入到另外一个链表的相应位置当中去。在遇到相同数据时可以采取只留下一个数据的方式和两个数据均保留的方式。这些不同点
2017-05-07 11:32:41
2543
原创 C语言中线性表的实现
最为简单的数据结构是线性结构,包括线性表、堆栈、队列等,本篇文章将为大家介绍对线性表的操作。 首先明确线性表的特点以及它所需要实现的功能,明确了这两点我们就可以编程形成一个“.h”文件,供以后开发app的时候使用,完成了线性表这个工具后,我们就可以在任何需要线性存储结构的地方使用我们提供的线性表工具。 下面我们来介绍线性表的特点:首先要明确线性表是一个用来存储数
2017-04-25 21:58:53
4524
6
原创 KMP算法详解
从图中可以看出,该算法存在着大量的控制源字符串的下标的往回移动,比如源字符串比较到下标为6的时候,由于在下标为7的位置失配,则,不得不将下标从7移动到2继续进行下一次比较,在对一个长度很长的字符串进行遍历的时候,这样的不必要的移动大量存在。因此该算法无法应用到更加大型的字符串差找中去。因此我们就要想办法减少这样的移动,KMP算法的精髓就在于能够不进行这样的移动,并且要做到每一次移动都是有的放矢,移动到应该移动到的地方去。下面我们就开始介绍KMP算法。 我们在让子串跟源串的一部分进行比较时,
2017-04-04 14:09:03
641
3
原创 任意行列二维数组C语言实现
在C语言中,数组是一个连续的线性存储结构,数组名称即为数组首元素首地址,中括号被C语言解释为指向运算,通过对指针的加法,实现取得相应元素。对二维数组的使用则相当于定义一个二阶指针,可以看做是一个一维数组里每一个成员是一个一维数组,所以二维数组的名字就是一个指向指针的指针,即二阶指针。通过两次指向运算得到相应的元素。 但是在C语言中,对变量空间的申请必须要写在一个函数的所有有效语句之前,使
2017-03-14 10:55:44
7060
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人