热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java实现单链表的编程挑战

最近遇到了一个关于单链表的编程问题,这是来自福富公司的笔试题目。以往我通常使用C语言来解决这类问题,但这次决定尝试用Java来实现。该题目要求实现一个单链表,并完成特定的方法。

最近遇到一个有趣的编程问题,这是福富公司笔试中的一道题目,涉及到了单链表的实现。通常情况下,我习惯于使用C语言来解决这类问题,但这次我决定尝试使用Java来完成。题目要求我们实现一个单链表,并且需要完成几个特定的方法。


首先,我们需要定义一个单链表的节点类,这个类将包含节点的数据(例如整数)以及指向下一个节点的引用。此外,还需要实现一个构造函数来初始化单链表,另一个构造函数用于根据给定的数组创建单链表,最后还需要实现一个方法来打印单链表中的最大值及其位置。



 1 public class SingleLinkedList {
2 static class Node {
3 int value;
4 Node next;
5
6 Node(int value) {
7 this.value = value;
8 this.next = null;
9 }
10 }
11
12 private Node head;
13
14 public SingleLinkedList() {
15 head = new Node(0); // 哨兵节点
16 }
17
18 public SingleLinkedList(int[] values) {
19 head = new Node(0);
20 Node current = head;
21 for (int value : values) {
22 Node newNode = new Node(value);
23 current.next = newNode;
24 current = newNode;
25 }
26 }
27
28 public void printMaxValueAndPosition() {
29 if (head.next == null) {
30 System.out.println("链表为空");
31 return;
32 }
33 Node current = head.next;
34 int maxValue = current.value;
35 int position = 0;
36 int index = 0;
37 while (current != null) {
38 if (current.value > maxValue) {
39 maxValue = current.value;
40 position = index;
41 }
42 current = current.next;
43 index++;
44 }
45 System.out.println("最大值: " + maxValue + ", 位置: " + position);
46 }
47 }


上述代码首先定义了一个静态内部类 Node 来表示单链表的节点,每个节点包含一个整数值和一个指向下一个节点的引用。然后,我们实现了两个构造函数,一个用于创建空链表,另一个用于根据给定的数组创建链表。最后,我们实现了一个 printMaxValueAndPosition 方法,用于遍历链表并找到最大值及其位置。


欢迎对我的实现提出任何意见或建议,非常感谢!


推荐阅读
author-avatar
qw874515
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有