输入样例1:
5 2 8 7 4 6
4 15
输出样例1:
2 8 7 4 15 6
输入样例2:
5 2 8 7 4 6
7 15
输出样例2:
error
函数接口定义:
方法定义:
void insert(int pos, int data) throws Exception
参数pos表示插入位置 ,参数data表示插入的新元素 。
插入失败时,抛出异常。
裁判测试程序样例:
import java.util.Scanner;
class Input {
private static Scanner sc = new Scanner(System.in);
static int inputInt(){
return sc.nextInt();
}
}
class Node{
int data;
Node next;
public Node( ){
data=0 ;
next=null;
}
public Node( int obj , Node nt) {
data=obj ;
next=nt;
}
}
class LinkList{
public Node head ;
public LinkList () //创建循环单链表 代码省略
{
………
}
public void display() //显示线性表的所有元素 代码省略
{
………
}
/* 请在这里填写答案 */
}
public class Main{
public static void main(String args[]){
LinkList L = new LinkList();
int pos = Input.inputInt();
int data = Input.inputInt();
try{
L.insert(pos,data);
L.display();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
insert函数:
void insert(int pos, int data) throws Exception{
Node s = head;
int j=0;
Node t = new Node();
t.data = data;
while(s.next.data!=head.data) {
j++;
s = s.next;
}
if(pos==0) {
t.next=s.next;
s.next = t;
}
else{
s = head.next;
for(int i=0;i<j;i++) {
if(i==pos-1) {
t.next = s.next;
s.next=t;
break;
}
s = s.next;
}
}
if(pos>j) {
throw new IllegalArgumentException("error");
}
}