0
사용자가 입력 할 사용자 입력 값보다 큰 모든 요소를 링크 된 목록에서 삭제하려고합니다. 현재 다음과 같은 항목이 있습니다. code.Consider 나는 목록에서 이미 12,23,34,45,56.iow와 같은 5 가지 요소를 가지고 있습니다. 출력에 20을 입력하면 12로 출력하고 싶습니다. 링크 된 list.But의 마지막 요소를 삭제할 수 있습니다. 런타임에 사용자 입력 값보다 큰 모든 요소를 삭제하려고합니다. 여기 런타임에 사용자 입력 값보다 큰 연결된 목록의 모든 요소를 제거하십시오.
내가 tail.It가 됐었을 노력하고있다 내가 로직을 구현하는 방법을 잘 모릅니다 그 마지막에 요소를 제거 할 수 있어요 현재 LinkedList.javaimport java.io.*;
class node
{
int data;
node prev,next;
public node(int x)
{
data=x;
next=null;
}
}
class SLL
{
node start=null;
public int removeLast()
{
if (isEmpty())
{
System.out.println("empty");
return 0;
}
else
{
node current=start;
while (current.next.next!=null)
current=current.next;
int x=current.next.data;
current.next=null;
return x;
}
}
public int removeAllBasedOnInputValue(int val){
//I dont know how to implement code here//
}
public void display()
{
if (isEmpty())
System.out.println("The list is empty");
else
{
node current=start;
while (current!=null)
{
System.out.print(current.data+" ");
current=current.next;
}
}
}
public class Sl
{
public static void main(String[] args) throws IOException
{
InputStreamReader obj=new InputStreamReader(System.in);
BufferedReader r=new BufferedReader(obj);
int ch;
SLL s=new SLL();
do
{
System.out.println("1.Remove");
System.out.println("2.Display");
System.out.println("3.Exit");
System.out.println("Enter your choice:");
ch=Integer.parseInt(r.readLine());
switch (ch)
{
case 1:
System.out.println("1.Remove tail");
System.out.println("2.Remove all elements based on specific value");
System.out.println("Enter choice:");
int al1=Integer.parseInt(r.readLine());
switch (al1)
{
case 1:
System.out.println("deleted: "+s.removeLast());
break;
case 2:
//System.out.println("deleted:"+s.removeAllBasedOnInputValue();
break;
}
break;
case 2:
s.display();
break;
case 3:
break;
}
}while(ch!=3);
}
}
입니다 나는 runtime.Can 사람이 제공하는 입력 값보다 큰 모든 요소를 삭제하기위한 사람이 나를 도와?