Untitled
unknown
plain_text
2 years ago
1.6 kB
3
Indexable
package BT1_LinkedList; import java.util.Scanner; public class Solution { static class Node { int data; Node next; } static void print(Node head,int j){ for (Node p = head.next; p!=null && j-->0 ;p=p.next ){ System.out.print(p.data + " "); } if(head.next==null){ System.out.print("empty "); return; } } static void insert_head(Node head,int data,int j){ Node newnode=head; while(j-->0 && newnode.next!=null){ newnode=newnode.next; } Node p =new Node(); p.data=data; p.next=newnode.next; newnode.next =p; } static void remove(Node head,int j){ Node p=head; while(j-->0 && p.next!=null){ p=p.next; } if(j==-1&& p.next!=null){ p.next=p.next.next; } } public static void main(String[] args) { Scanner sc=new Scanner(System.in); int T=sc.nextInt(); for(int tc=1;tc<=T;tc++){ int N=sc.nextInt(); Node head=new Node(); head.data=-1; head.next=null; System.out.print("#"+tc+" "); for(int i=0;i<N;i++){ String s=sc.next(); //sc.nextLine(); if(s.charAt(0)=='i'){ int j=sc.nextInt(); int data=sc.nextInt(); insert_head(head, data, j); } else if(s.charAt(0)=='d'){ int j=sc.nextInt(); remove(head,j); } else if(s.charAt(0)=='p'){ int j=sc.nextInt(); print(head,j); } else if(s.charAt(0)=='r'){ remove(head,0); } else { int data=sc.nextInt(); if(s.charAt(0)=='f'){ insert_head(head, data,0); } } } System.out.println(); } } }
Editor is loading...