题目描述:
删除链式线性表指定位置的元素。
输入:第一行为自然数n,表示链式线性表的长度,第二行为n个自然数表示链式线性表各元素值。第三行为指定删除的位置,第四行为插入的位置及元素值(如果位置不对,则不作操作,插入位置应在删除元素后重新计数)。
输出:输出删除与插入元素后的链式线性表的所有元素,元素之间用一个空格隔开。
输入样例:
5
1 2 3 4 5
3
6 7
样例输出:
1 2 4 5
代码:
import java.util.Scanner;
public class no32 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] a = new int[1024];
for(int i = 1;i <= n;i ++){
a[i] = in.nextInt();
}
int m = in.nextInt();
if(m < n){
for(int i = m+1;i <= n;i ++){
a[i-1] = a[i];
}
n --;
} else if (m == n) {
n --;
}
int x = in.nextInt();
int y = in.nextInt();
if(x <= n){
for(int i = n;i >= x;i --){
a[i+1] = a[i];
}
a[x] = y;
n ++;
}else{
if(x == n+1){
a[n+1] = y;
n ++;
}
}
for(int i = 1;i <= n;i ++)
System.out.printf("%d ",a[i]);
}
}