`
qieyi28
  • 浏览: 158514 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在已有数组中插入值

 
阅读更多
    在一个已知的数组中插入一个元素。
这里举了个例子,方法二是容易被我们忽略的一种考虑逻辑。代码要简练很多,这里我写了下仅供参考。 

import java.util.Scanner;

//在数组1和2中插入数8
public class test5T {
private int[] aa = { 1, 2, 3, 4, 5 };
private int[] temp= new int[aa.length + 1];

//方法一,从前往后赋值排列
public int[] add(int index, int value) {
if (index > 0 && index < aa.length) {
System.out.println("中间插入");
for (int a = 0; a < index; a++) {// 游标之前的先放进去
temp[a] = aa[a];
}
for (int i = index; i < temp.length; i++) {// 游标之后的再放进加长的数组里
temp[i] = aa[i - 1];
}
temp[index] = value;
}
if (index >= aa.length && index < aa.length + 1) {
System.out.println("尾部插入");
for (int i = 0; i < index; i++) {// 游标之后的再放进加长的数组里
temp[i] = aa[i];
}
temp[temp.length - 1] = value;
}
if (index == 0) {
System.out.println("前部插入");
temp[0] = value;
for (int i = index; i < temp.length - 1; i++) {// 游标之后的再放进加长的数组里
temp[i + 1] = aa[i];
}
temp[index] = value;
}
if (index < 0 || index >= temp.length) {
System.out.println("游标过界");
}
return temp;
}

//方法二,从后往前赋值排列
public int[] add2(int index,int value){
for(int i=0;i<aa.length;i++){//先把所有的值都赋值到新的数组中
temp[i]=aa[i];
}
if(aa.length>index){
for(int j=aa.length;j>index;j--){
temp[j]=aa[j-1];
}
temp[index]=value;
}else{
System.out.println("游标越界");
}
return temp;
}
public static void main(String[] args) {
test5T t5t = new test5T();
Scanner in = new Scanner(System.in);
System.out.println("输入你想要插入的位置:");
int index = in.nextInt();// 第0个后1个前
System.out.println("输入你要插入的值:");
int value = in.nextInt();// 要插入的值
//int aa[] = t5t.add(index, value);//使用方法一
t5t.aa=t5t.add2(index, value);//使用方法二
for (int j = 0; j < t5t.aa.length; j++) {
System.out.print(t5t.aa[j]+",");
}
}
}
分享到:
评论

相关推荐

    C语言中数组应用总结.pdf

    而插入排序则是将数组分成已排序和未排序两部分,算法的核心思想是遍历数组,每次取出未排序部分的第一个元素,并在已排序部分找到合适的位置插入,直到未排序部分的所有元素都被正确插入。 数组的插入操作允许我们...

    MongoDB期末考试测试题

    使用`$addToSet`可向已有数组中添加元素,确保元素不重复。 10. 删除操作: `remove`方法用于删除满足条件的文档,例如删除所有专业为“通信工程”的学生。 11. MapReduce: MapReduce是一种处理和生成大数据集...

    2x_searchtree_二叉搜索树_

    二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,又有数组快速查找的优势;所以应用十分广泛,例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作

    数据结构常用算法演习

    在数据结构中,我们有数组、链表、栈、队列、树、图等基本类型。每种数据结构都有其独特的特性和用途,比如数组提供了随机访问的优势,而链表则允许高效插入和删除。线性表是一种简单但重要的数据结构,它是由相同...

    常用算法链表堆栈二叉树.docx

    常用的数据结构有数组、链表、栈、队列、树、图等。今天我们主要讨论链表、栈和二叉树这三种数据结构,并介绍一些常用的算法。 一、链表 链表是一种动态的数据结构,每个结点都包含了一个值和一个指向下一个结点的...

    数据结构搜索二叉树.rar

    二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,又有数组快速查找的优势;所以应用十分广泛,例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作。 [1]

    数据结构(C语言版)

    常见的线性表有数组和链表。线性表的操作通常包括检索(检索特定元素)、查找、插入和删除等。 栈是一种特殊的线性表,它只允许在表的一端进行插入和删除操作,这一端称为栈顶,相对的一端称为栈底。栈的这种操作...

    PHP算法与数据结构学习 案例代码.zip

    2. **二分法查找**:在已排序的数组中,通过将目标值与中间元素比较,每次缩小一半的搜索范围,直到找到目标或确定目标不存在。这种方法适用于大数据量的查找操作,时间复杂度为O(log n)。 3. **堆排序**:基于完全...

    All hash ids_hash_Table_

    在实际应用中,哈希表的实现通常有数组、链表、平衡二叉树等结构。例如,Java中的HashMap和C++中的std::unordered_map都是常见的哈希表实现。这些实现通常会提供线性时间复杂度的插入、删除和查找操作,但在最坏情况...

    数据结构代码

    常见的数据结构有数组、链表、栈、队列、树、图等。在C++中,通过类和结构体可以实现抽象数据类型的定义,使得代码更加模块化和易于理解。 2. **树结构**:树是一种非线性数据结构,由顶点(或节点)和边构成。树...

    xybase.zip

    List是一种线性数据结构,允许在任意位置进行插入和删除操作,常见的实现有数组列表和链表。Map则是一种键值对的数据结构,通过键来快速获取对应的值,如散列表(基于哈希算法实现)和二叉搜索树。理解和掌握这些...

    各种排序算法c语言实现

    其工作原理是遍历待排序序列,在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序...

    线性表实验demo.zip

    常见的顺序存储结构有数组。 另一方面,链式存储的线性表不关心元素在内存中的物理位置,每个元素(节点)包含数据和指向下一个元素的引用(指针)。链式存储在插入和删除时更为灵活,但访问速度相对较慢,因为需要...

    数据结构与算法(JAVA语言版)-中文

    常见的数据结构有数组、链表、栈、队列、树、图等。数组是最基础的数据结构,提供了随机访问的能力;链表则允许动态插入和删除,但访问速度相对较慢;栈是一种后进先出(LIFO)的数据结构,常用于函数调用和表达式求...

    西南石油大学数据结构课件

    常见的线性表实现有数组和链表。数组提供随机访问,但插入和删除操作可能涉及大量元素的移动;链表则允许快速插入和删除,但随机访问效率较低。在课件中,可能会详细讲解这两种结构的特点和应用场景。 树是一种非...

    数据结构提取器.rar

    在Java中,常见的数据结构有数组、链表、栈、队列、集合、映射(哈希表)和树等。以下是对这些数据结构的详细介绍: 1. **数组**:是最基本的数据结构,它存储同一类型的元素序列。数组提供了快速访问元素的能力,...

    面向Swift开发者的数据结构和算法课程_Swift_下载.zip

    在Swift中,常见的数据结构有数组(Array)、链表(Linked List)、栈(Stack)、队列(Queue)、集合(Set)、字典(Dictionary)等。数组是最基础的数据结构,提供随机访问元素的能力;链表则允许在不相邻的位置...

    Fundamentals of Data Structures.rar_Data Structures and_Fundamen

    常见的数据结构有数组、链表、栈、队列、树、图等。理解并掌握数据结构能够帮助我们设计出更高效的算法,解决复杂问题。 二、数组 数组是最基本的数据结构,它是一组相同类型元素的集合,通过索引访问。数组的优点...

    PHP如何使用array_unshift()在数组开头插入元素

    这意味着如果原来有数值键,它们会被更新。然而,字符串键名将保持不变。 以下是一个示例,展示了如何使用`array_unshift()`: ```php $num = array(10, 45, 9); array_unshift($num, 100, 6); // 在数组开头插入...

    数据结构,适合初学者学习掌握

    常见的线性表实现有数组和链表。数组在内存中是连续存储,查找速度快,但插入和删除操作可能需要移动大量元素;链表则允许在任意位置进行插入和删除,但查找速度相对较慢。 2. **堆栈**:堆栈是一种后进先出(LIFO...

Global site tag (gtag.js) - Google Analytics