Java动态应用动态扩充数组实现有序数组元素的添加和删除

Java动态应用动态扩充数组实现有序数组元素的添加和删除,第1张

Java动态应用动态扩充数组实现有序数组元素的添加和删除
import java.sql.Array;
import java.util.Arrays;
import java.util.Scanner;
public class D1 {
	public static void main(String[]args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入元素的个数");
		int number1;
		number1 = scan.nextInt();
		if(number1 == 0){
			return;
		}
		int[] array1 = new int[number1];
		System.out.println("请输入元素");
		for(int i = 0;i < array1.length;i++)
		{
			array1[i] = scan.nextInt();
		}
		Arrays.sort(array1);
		System.out.println("排序后");
		for(int i = 0;i < array1.length;i++)
		{
			System.out.print(array1[i] + " ");
		}
		boolean flag = true;
		while(flag){
		System.out.println("n请选择需要进行的操作n1、插入n2、删除");
		int select = scan.nextInt();
		if(select == 1){
			int[] array2 = new int[array1.length+1];
			for(int i = 0;i < array1.length;i++){
				array2[i] = array1[i];
			}
			array1 = array2;
			System.out.println("n请输入需要插入的元素");
			int element = scan.nextInt();
			for(int j = 0; j < array1.length;j++)
			{
				if(element < array1[array1.length - 2 - j]){
					array1[array1.length - 1 - j] = array1[array1.length - 2 - j] ;
				}
				else{
					array1[array1.length - 1 - j] = element;
					break;
				}
				if(array1.length - 2 - j == 0){
					array1[0] = element;
					break;
				}
			}
			System.out.println();
			System.out.println("插入结果为");
			for(int i = 0;i < array1.length;i++)
			{
				System.out.print(array1[i] + " ");
			}
		}
		else if(select == 2){
			System.out.println("n请输入需要删除的元素");
			int element = scan.nextInt();
			int index = -1;
			for(int i = 0;i < array1.length;i++){
				if(element == array1[i]){
					index = i;
				}
			}
			if(index == -1){
				System.out.println("未找到需要删除元素");
				return;
			}
			else{
				System.out.println("已找到需要删除的元素");
			}
			int[] array2 = new int[array1.length - 1];
			for(int i = 0;i < array2.length;i++){
				if(i < index){
					array2[i] = array1[i];
				}
				else{
					array2[i] = array1[i+1];
				}
			}
			array1 =array2;
			System.out.println("删除结果为");
			for(int i = 0;i < array1.length;i++){
				System.out.print(array1[i] + " ");
			}
		}
		System.out.println("是否需要继续操作----(1/0)");
		int Select = scan.nextInt();
		if(Select == 1){
			flag = true;
		}
		else {
			flag =false;
		}
		}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5659856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存