我正在制作一个程序,让用户添加整数元素,获取其长度,并获取其中间元素。我的问题是,我不知道写什么来获得中间元素。我试图在互联网上搜索如何下载,但我找不到适合这个程序的代码行。
如何找到并获取用户输入单链表的中间元素?
import java.util.Scanner;
class Node
{
int data;
Node link;
Node next;
public Node()
{
link = null;
data = 0;
next = null;
}
public Node(int d,Node n)
{
data = d;
link = n;
}
public void setLink(Node n)
{
link = n;
}
public void setData(int d)
{
data = d;
}
public Node getLink()
{
return link;
}
public int getData()
{
return data;
}
}
class LinkedList
{
Node start;
Node end;
public int length;
public LinkedList()
{
start = null;
end = null;
length = 0;
}
public int getLength()
{
return length;
}
public void insert(int val)
{
Node nptr = new Node(val,null);
length++ ;
if(start == null)
{
start = nptr;
end = start;
}
else
{
end.setLink(nptr);
end = nptr;
}
}
public void display()
{
System.out.print("\nSingly Linked List = ");
if (start.getLink() == null)
{
System.out.println(start.getData() );
return;
}
Node ptr = start;
System.out.print(start.getData()+ " -> ");
ptr = start.getLink();
while (ptr.getLink() != null)
{
System.out.print(ptr.getData()+ " -> ");
ptr = ptr.getLink();
}
System.out.print(ptr.getData()+ " -> null\n");
}
}
public class SinglyLinkedList
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
LinkedList list = new LinkedList();
char ch;
do
{
System.out.println("\nSingly Linked List\n");
System.out.println("Enter integer element to insert:");
list.insert( scan.nextInt() );
System.out.println("Length of the Linked List: "+ list.getLength() );
System.out.println("Middle Element of the Linked List: ");
list.display();
System.out.println("\nDo you want to continue (Type y or n) \n");
ch = scan.next().charAt(0);
} while (ch == 'Y'|| ch == 'y');
}
}
由于您已经在类中维护了length
属性,因此我们可以使用该属性查找链接列表的中间部分。如果列表中有偶数个元素,则返回ceil(mid)
,即1-
public Node getMid() {
if (length == 0) return null;
int mid = length / 2;
Node ptr = start;
while (mid-- > 0) {
ptr = ptr.getLink();
}
return ptr;
}
所以我的问题很简单。 如何从表单中获取用户输入并将其放入变量中? 我想用香草JS和没有库来做这件事。 多谢了。
在单链表中,我们知道最后一个节点的下一个指向,这样我们就可以通过遍历找到它。 如果单链表的最后一个节点指向某个中间节点,那么我们如何找到最后一个节点?
问题内容: 我正在尝试创建一个基本菜单,以检查输入的变量是否与定义的变量匹配。如果定义了变量,则获取已定义变量的数据。 例。 我输入 应该相等 问题答案: 这似乎是您要找的东西: 但是,这可能不是最好的策略,因为错字或恶意用户很容易使您的代码崩溃,系统过载或执行他们喜欢的任何其他讨厌的事情。对于这种特殊情况,更好的方法可能是
在下面的例子中,我试图接受用户的单字符输入,但是当运行程序时,我得到do...而循环执行多次。请参阅下面程序的结果。 如果有人能帮我找到答案,如何解决这个问题?
问题内容: 如何在输入框中获取输入框中的值? 问题答案: 每次释放键都会触发onkeyup。虽然它看起来是解决方案,但它仍然存在一些问题。 如果用户使用箭头移动光标,则会触发该光标,并且您必须检查自己是否字段值没有更改。 如果用户使用鼠标在输入字段中复制/粘贴一个值,或者在浏览器中单击“撤消/重做”,则不会触发。 就像在Mac或Google文档中一样,我不想保存按钮来在我们的应用程序中提交表单,这
问题内容: 我正在使用Android Marshmallow和Moto G4以及用于测试的设备。 我想创建一个应用程序,它将使用指纹输入并保存在本地数据库(sqlite)中,或者到数据库,我的意思是我们可以接受并保存指纹的类型是什么? 问题答案: 您无法从android Fingerprint API获取指纹模板或图像。指纹数据由android系统存储在安全的地方,无法访问。 但是您可以要求系统对