Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

单向链表的翻转

单向链表的翻转

单向链表的翻转2014-07-11 iteye cq520单向链表翻转,之前把这个问题想的太简单了,以为只要把数据域翻转过来就可以了,结果是筐了大瓢,下面举一个简单的例子说明:假设有n个人站成一排,现在要把这n个人的站的顺序颠倒过来,那么就不能只把这n个人的身高颠倒过来,而是要把每一个人的位置颠倒过来,第一个人站到最后,第二个人站倒数第二,以此类推。为了检验程序的正确性,这一次我们打印时不能再打印结点数据,而要打印结点。Java程序运行时,JVM为程序开辟...
单向链表的方法优化

单向链表的方法优化

单向链表的方法优化2014-07-11前几天写了一篇关于单向链表的实现方法,单向链表的具体实现在里面都有说明,见博客:http://cq520.iteye.com/blog/1853186不过细心的朋友也许发现了,上次写的几个方法其实是存在漏洞的,插入方法与删除方法都不能操作第一个元素,而实际上操作第一个元素的方法与操作其他元素的方法是一样的,只是代码描叙上有些差异,原因在于:首结点不存在前结点对它的引用优化之后的代码如下:Java代码/*** 向链表中插...
最大子序列和问题从O(N^3)到线性的算法

最大子序列和问题从O(N^3)到线性的算法

最大子序列和问题从O(N^3)到线性的算法2014-07-11 iteye cq520算法复杂度,从开始学习算法分析之后就一直在讨论着这个问题,很多人都认为,计算机相关人才只是“高级蓝领”,“技术民工”,那为什么计算机的大牛们依然乐此不疲呢?我想,是因为他们发现了思考的乐趣。有时候,稍加思考,你所做的事情就会变得格外的美妙,有时候,更简短的代码带来的却是更高的执行效率,生活,恰是需要这样的点睛之笔。好了,前奏...
Java中单向链表的实现:增删查改功能

Java中单向链表的实现:增删查改功能

Java中单向链表的实现:增删查改功能2014-07-11写一个大家都比较熟悉的数据结构:单向链表。不过先告诉大家一个小秘密,java的API里面已经提供了单向链表的类,大家可以直接拿来用,不过学习数据结构课程的时候想必大家也已经知道,虽然系统会给我们提供一些常用的数据结构,但是自定义的总是能够带来不同的喜感的,而且通过自己的编写也更能够让我们了解其中实现的过程,而且我们还可以写一些比较个性化的方法作为属于自己的数据结构。这里主要是介绍一些常用结构里面都会...
教你在Java中玩转单链表

教你在Java中玩转单链表

教你在Java中玩转单链表2014-07-11 iteye cq520学会了单链表的基本操作之后,我们就可以自定义一些非常有意思的功能了,例如对单链表中的元素进行排序,(排序规则可以由自己定),将链表翻转等等,这里主要是讲老师布置的几个问题,我觉得也非常有趣,大家也可以思考一下,由于这些方法几天前就写完了,五一假在家中也没有对之前的链表进行更多的修改了,所以还是用之前所写过的单链表结构继续添加功能吧。在实现所有功能之前先来个前言,接下来的这两个方法对后面的...
Java中完全随机数的产生

Java中完全随机数的产生

Java中完全随机数的产生2014-07-11 iteye cq520清明时节,外面下起了大雨,听着雨点刷刷的淅沥声,我的心情也渐渐的平复下来,如蓝天般淡薄却又有云朵在上面漂浮着,废话不多说,下面进入正题:这一次跟大家分享一下如何产生一个完全不相同的随机数组,大家可能都知道如何产生一个随机数组,但是问题就是,我们所产生的随机数组里面很有可能还有很多是相同的数字,有时候我们需要的是产生一连串完全不相同的数字,有下面两种方法:方法一:比较法将数组里面的每一个数...
<< 211 212 213 214 215 216 217 218 219 220 >>