数组增删改查

头文件声明函数

#pragma once
#ifndef HEAD_H
#define HEAD_H
#include<stdio.h>
#include<stdlib.h>
#pragma warning (disable:4996)
void print();//显示数组函数
void add();//添加元素函数
void delete();//删除元素
void search();//查找元素
void insert();//插入元素
void change();//修改元素
#endif

 声明变量

#pragma once
int arr[100];
int n;
int s;
int del_nums;
int del_index;
int add_nums;
int add_index;
int change_index;
int change_nums;
int search_nums;

函数定义

#include"head.h"
#include"变量.h"
void print()//显示数组函数
{
	for (int i = 0; i < n; i++)
	{
		printf("%d\t", arr[i]);
	}
}
void add()//添加元素函数
{
	printf("----请输入待添加元素值\n");
	scanf("%d", &s);
	while (getchar() != '\n');
	arr[n++] = s;//末尾添加
}
void delete()
{
	del_index = -1;
	printf("输入要删除的元素\n");
	scanf("%d", &del_nums);
	while (getchar() != '\n');
	for (int i = 0; i < n; i++)
	{
		while(del_nums == arr[i])
		{
			del_index = i;
			for (int j = i; j <= n-1; j++)
			{
				arr[j] = arr[j+1];
			}
			n--;
		}
	}
	if (del_index<0)
	{
		printf("没有找到你要删除的数\n");
	}
}
void search()
{
	printf("请输入要查找的元素\n");
	scanf("%d", &search_nums);
	for (int i = 0; i < n; i++)
	{
		if (search_nums == arr[i])
		{
			printf("被查找元素的下标%d\n", i);
		}
	}
}
void insert()
{
	printf("请输入你要插入元素的位置\n");
	scanf("%d", &add_index);
	printf("请输入你要插入的元素\n");
	scanf("%d", &add_nums);
	for (int i = 0; i < n; i++)
	{
		if ((add_index - 1) == i)
		{
			add_index = i;
			for (int i = n - 1; i >= add_index; i--)
			{
				arr[i + 1] = arr[i];
			}
			arr[add_index] = add_nums;
			n++;
			break;
		}
	}
}
void change()
{
	printf("输入要修改值的序号\n");
	scanf("%d", &change_index);
	printf("输入更改数值\n");
	scanf("%d", &change_nums);
	for (int i = 0; i < n; i++)
	{
		if (change_index - 1 == i)
		{
			arr[i] = change_nums;
		}
	}
}

主函数 

#include"head.h"
#include"变量.h"
int main()
	{
		int chioce;
		printf("请问你要输入几个数字\n");
		scanf("%d", &n);
		while (getchar() != '\n');
		printf("请依次输入各元素\n");
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &arr[i]);
		}
		print();
	loop:
		printf("\n请输入你的操作数\n");
		printf("1.增加一个元素\n2.删除一个元素\n3.查找一个元素\n4.插入一个元素\n5.修改一个元素\n");
		scanf("%d", &chioce);
		switch (chioce)
		{
		case 1:
			add();
			print();
			break;
		case 2:
			delete();
			print();
			break;
		case 3:
			search();
			print();
			break;
		case 4:
			insert();
			print();
			break;
		case 5:
			change();
			print();
			break;
		default:
			break;
			printf("你想咋地?");
			exit(0);
		}
		goto loop;
		return 0;
	}

 

 

 

### Java 中数组增删改查操作 #### 删除数组元素 由于Java中的数组长度固定,在删除元素时通常会将其转换为`ArrayList`,因为后者提供了动态调整大小的功能。下面展示了如何将一个整数类型的数组转化为`ArrayList`并从中移除指定位置处的元素[^1]。 ```java package com.journaldev.java; import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = new int[]{1, 3, 3, 4, 5}; ArrayList<Integer> arr_new = new ArrayList<>(); // 将原始数组的内容复制到新的列表中 for (int i : arr) { arr_new.add(i); } // 移除索引为3的位置上的元素(即第四个元素) arr_new.remove(Integer.valueOf(3)); System.out.println("Before deletion :" + Arrays.toString(arr)); System.out.println("After Deletion:" + arr_new); } } ``` 注意这里使用了`Integer.valueOf()`方法来封装基本数据类型以便于`remove()`方法能够识别要移除的对象而非索引值。 #### 修改数组元素 对于修改特定索引处的数据而言,可以直接利用下标访问该位置然后赋新值给它。这适用于任何支持随机存取的一维或多维数组结构[^2]。 ```java // 假设有一个已存在的数组arr arr[index] = newValue; // index是要更改的那个元素的位置,newValue则是想要设置的新数值 ``` #### 查询数组元素 查询可以通过遍历整个数组来进行,也可以借助更高效的算法比如二分查找法如果数组已经排序的话。最简单的做法就是循环读取直到找到目标项为止: ```java for(int element : array){ if(element == target){ foundIndex = currentIndex; break; } currentIndex++; } ``` 当然还可以采用增强版for-each语句配合条件判断快速定位所需记录;另外当面对大型有序序列时建议优先考虑二叉树或者哈希表等高级容器以提高检索效率。 #### 向数组添加元素 考虑到原生数组不可变长的特点,实际开发过程中往往会选择先转成`List`接口下的具体实现类再执行追加动作最后视情况决定要不要回退成普通数组形式保存结果。以下是基于上述思路的一个例子说明怎样向现有集合里增加成员[^3]: ```java List<String> stringList = new ArrayList<>(Arrays.asList(originalArray)); stringList.add(newElement); // 这里的newElement是你打算加入的新条目 String[] updatedArray = stringList.toArray(new String[stringList.size()]); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值