设计一个单链表并完成以下任务

设计一个单链表,要求编程实现如下任务:
(1)建立一个单链表(单链表数据的个数由键盘输入,一次可以完成多个数据的录入)。
(2)在第 i 个节点( i 由键盘输入, i =0表示插入的结点作为第1个结点)之后插入一个元素为 x 的节点。
(3)查找指定数据的结点(指定数据的值是由键盘输入),若找到则显示查找成功并输出该节点的编号,若没有找到则显示“查找失败”等信息。
(4)删除指定值的结点(指定值也是通过键盘输入),显示删除前后的单链表中的数据元素。

参考: