import
java.util.*;
class
GFG
{
static
class
Node
{
int
data;
Node next;
}
static
Node head;
static
void
countIncreasingElements(Node head)
{
int
curr_len =
1
, max_len =
1
;
int
total_count =
1
, res_index =
0
;
for
(Node curr = head; curr.next !=
null
;
curr = curr.next)
{
if
(curr.data < curr.next.data)
curr_len++;
else
{
if
(max_len < curr_len)
{
max_len = curr_len;
res_index = total_count - curr_len;
}
curr_len =
1
;
}
total_count++;
}
if
(max_len < curr_len)
{
max_len = curr_len;
res_index = total_count - max_len;
}
System.out.print(
"Number of continuously "
+
"increasing element in list : "
);
System.out.println(max_len);
int
i =
0
;
System.out.println(
"Increasing linked list"
);
for
(Node curr = head; curr !=
null
;
curr = curr.next)
{
if
(i == res_index)
{
while
(max_len >
0
)
{
System.out.print(curr.data +
" "
);
curr = curr.next;
max_len--;
}
break
;
}
i++;
}
}
static
void
push(Node head_ref,
int
data)
{
Node newNode =
new
Node();
newNode.data = data;
newNode.next = head_ref;
head_ref = newNode;
head = head_ref;
}
static
void
printList(Node node)
{
while
(node !=
null
)
{
System.out.print(node.data +
" "
);
node = node.next;
}
System.out.println();
}
public
static
void
main(String[] args)
{
head =
null
;
push(head,
12
);
push(head,
11
);
push(head,
8
);
push(head,
5
);
push(head,
18
);
push(head,
15
);
System.out.println(
"Linked list:"
);
printList(head);
countIncreasingElements(head);
}
}