
数据结构——java现实
欧阳方超
微信公众号—“欧阳方超”。一份书写一份理解,一份记录一份沉淀,回首时这些是美丽的风景,若能不经意间帮到正在路上的你,吾心备喜焉!Java、Linux运维、大数据。
展开
-
数据结构——支持删除链表中任意节点(java实现)
跟上一篇博文相比,这里实现了删除任意节点的功能,删除任意节点的的函数设计时可以从一下三个方面考虑,便于打开思路;1、删除的节点是头节点2、删除的节点是为节点3、删除的节点是除头结点和尾节点之外的其他节点定义链表:class Node{ int IDnumber; int score; String name; Node next; public Node(in原创 2015-11-25 21:24:30 · 858 阅读 · 0 评论 -
数据结构——建立单向链表(java实现)
简单单向链表的java实现,这里只实现了顺序插入操作,暂不支持在链表任意位置插入元素,代码背景:实现链表,其中每个节点代表一个学生信息,包括:学号、姓名和成绩。/* * 节点类,每个节点代表一个学生信息,包括:学号、姓名和成绩 * */class Node{ int IDnumber; int score; String name; Node next; public Nod原创 2015-11-25 21:05:16 · 881 阅读 · 0 评论 -
数据结构——单向传统链表(java实现)
今天看了Robert Lafore的《java数据结构和算法》(第二版)才知道昨天学习的单向链表,是双端链表,就是在链表中有两引用分别指向第一个链结点和最后一个链结点,传统的单向链接就是所谓的单端链表(姑且这么叫吧)。另外,以前一直想不明白first到底是啥意思(想要那种非常直观的意思),现在明白了它是对第一个链结点的引用,也可以这么理解链表本身的对象中有一个字段指向对第一个链结点的引用。原创 2015-11-26 21:25:53 · 456 阅读 · 0 评论 -
数据结构——查找和删除指定连接点(java实现)
和上一篇相比,增加两个方法,一个是在链表中查找包含指定关键字的链结点,一个是在链表中删除包含指定关键字的链结点。按照关键字查找的方法可以如下实现,注释部分为本人尝试时做写出的代码:public Link find(int key) //find a link according given key { /* the following is by myself,not goo原创 2015-11-26 21:48:23 · 526 阅读 · 0 评论 -
数据结构——双端链表(java实现)
这里双端链表只是比传统链表多了一个对最后一个元素的引用——last/* * * *demonstrates list with first and last references **/class Link{ public long dData; public Link next; public Link(long d) { dData = d; } pub原创 2015-11-26 21:57:53 · 384 阅读 · 0 评论 -
数据结构——用(单端)链表实现栈(java实现)
栈是一种先进后出的数据结构,即只有最后插入的数据项才运行被访问,今天用单端链表模拟了栈的实现,代码如下:/* *You can just get the top item in the stack,what is first inserted is in the bottom of stack! * **/class Link{ public long dData;原创 2015-11-27 12:51:19 · 454 阅读 · 0 评论 -
数据结构——使用双端链表实现队列(java实现)
队列是这样一种数据结构:在队尾(rear)插入数据项,在队首(front)移除数据项,队列的进出顺序是先进入的先被移除(先进先出,FIFO); Robert Lafore的书对队列的使用有如下描述:“它可以用于模拟真实世界的环境,例如模拟人们在银行里排队等待,飞机等待起飞,或者因特网上数据包等待传送。在计算机(或网络)操作系统里,有各种队列在安静地工作着。打印作业在打印队列中等待打印。原创 2015-11-27 13:13:02 · 1097 阅读 · 0 评论 -
数据结构——把数据项按顺序插入到链表中(java实现)
今天要记录的是有序链表,前几篇讲到的链表都是无序的,说他无序就是指没有什么规律的、乱序的,将这类链表输出后会发现,其输出顺序与操作链表时的输入顺序有很大关系——要么与输入顺序顺序相同要么与输入顺序相反,具体取决于所定义的插入函数是从链表头部还是从尾部插入;实际场景下可能有序链表使用的较多,要想实现这样一个链表:创建该链表后插入的元素都能按顺序排序,则必须在定义有序链表时在插入函数定义好插入规则(d原创 2015-11-28 21:41:07 · 1027 阅读 · 0 评论 -
数据结构——双向链表(Java实现)
费了将近一天时间,终于实现了一个双向链表,支持正向和逆向的输出;当实现逆向输出时有一问题一直困扰着我,就是删除某个指定元素后,正向输出显示已删除该元素,逆向输出显示没有删除该元素,百思不得姐啊,也知道问题出在deleteKey(long dd)方法中,但是具体位置找不到,后来逐步试验,略得蛛丝马迹,发现删除表头元素和表尾元素后正向输出和逆向输出是一致的,而删除其他地方元素两者输出不一致,最后将问题原创 2015-11-30 16:42:27 · 495 阅读 · 0 评论