一维数组的定义:
1)数据类型 数组名[] = new 数据类型[长度];
2)数据类型 数组名[] = {...};
3)数据类型 数组名[] = new 数据类型[]{...};或
数据类型 数组名[];
数组名 = new 数据类型[长度];
二维数组的定义:
1)数据类型 数组名[][] = new 数据类型[长度1][长度2];
2)数据类型 数组名[][] = {...}{...};
3)数据类型 数组名[][] = new 数据类型[][]{...}{...};
与数组相比,自定义队列相对就有更强的扩充性,可以向队列中无限制的加入自己定义的类型。自定义队列实质是自己定义的一个的一个类,类中有一个public类型的数组,并定义对这个数组进行增删查等方法。
package cn.javanet.array;
/**
* 自定义队列:可以无限制的向队列中添加数据
*
* @author */
public class NetjavaList {
//创建一个数组
public int arrayone[]=new int [0];
/**
* 返回自定义队列的长度
* @return 长度
*/
public int size(){
return arrayone.length;
}
/**
* 得到指定位置的索引
* @param index:指定的索引位
* @return:返回指定索引的元素值
*/
public int get (int index){
return arrayone[index];
}
/**
* 在数组的末尾添加一个元素
* a:添加的元素
*/
public void addone(int a){
//重新创建一个数组
int arraytwo[]= new int [arrayone.length+1];
//讲原数组的值一一赋给新数组
for(int i=0;i<arrayone.length;i++){
arraytwo[i]=arrayone[i];
}
//将a插入新数组的末尾
arraytwo[arrayone.length]=a;
//讲新数组赋给arrayone
arrayone=arraytwo;
}
/**
* 在指定位置添加指定的数据
* @param add:添加的元素值
* @param index:指定添加的位置
*/
public void add(int add,int index){
//重新创建一个数组
int array3[]=new int [arrayone.length+1];
//将索引值前面的数据先赋给新数组
for(int i=0;i<arrayone[index];i++){
array3[i]=arrayone[i];
}
//加入add,并将剩下的元素一一赋值
array3[index]=add;
for(int i=index;i<arrayone.length;i++){
array3[i+1]=arrayone[i];
}
//将新建的数组赋给arrayone
arrayone=array3;
}
/**
* 将指定位置的元素移除
* @param index:指定的位置
*/
public void remove(int index){
//新建一个数组
int array4 []=new int [arrayone.length-1];
//将索引值前面的数据先赋给新数组
for(int i=0;i<arrayone[index];i++){
array4[i]=arrayone[i];
}
//将索引值后面的数据赋给新数组
for(int i=index+1;i<arrayone.length;i++){
array4[i-1]=arrayone[i];
}
//将新建的数组赋给arrayone
arrayone=array4;
}
/**
* 移除指定的内容
* @param a:移除的内容
*/
public void remove2(int a){
int j=0;
//新建一个数组
int array5 []=new int [arrayone.length];
//移除掉a
for(int i=0;i<arrayone.length;i++){
if(arrayone[i]!=a)
{array5[j]=arrayone[i];
j++;
}
}
//将新建的数组赋给arrayone
arrayone=array5;
}
}
分享到:
相关推荐
- 构造函数:初始化空的优先队列,可能包括默认容量的构造函数和自定义容量的构造函数。 - 插入方法:如`add(int val)`,将元素插入到队列的末尾并调整堆。 - 删除方法:如`remove()`,删除并返回队首元素,然后...
但如果你想自定义队列,你可以创建一个类,包含一个数组作为底层数据结构,并实现添加元素(Enqueue)、移除元素(Dequeue)以及检查队首元素(Peek)等方法。以下是一个简单的自定义队列的C#实现: ```csharp ...
因此,要确保遍历到所有有效元素,可以自定义数组的`prototype`,如添加`validnum`属性来表示有效元素的数量。 ```javascript arr = [1, 2, 3]; delete arr[2]; arr.validnum = 2; arr.forEach(function(item, ...
数据结构(数组型队列),内含源代码和教程MyDeque_Demo。支持自定义数据类型,支持访问队列中的任意元素。 使用教程参见 http://blog.csdn.net/michaelliang12/article/details/51325801
本资源提供了Java实现的数据结构代码,包括栈、动态数组、队列、链表和二叉树,这些都是计算机科学中最基础且重要的数据结构。 1. **栈(Stack)**:栈是一种“后进先出”(LIFO)的数据结构,常用于表达式求值、...
在Java编程中,大作业通常涉及实际应用中的问题解决,这次的任务是利用数组实现一个队列排序,并且能够动态地插入新的元素。这个任务主要涵盖了两个核心知识点:数组的使用和排序算法。下面将详细解释这两个方面。 ...
在C++中,标准库提供了一个名为`deque`的容器,但在这里,我们讨论的是一个自定义实现的基于数组的双端队列类模板。 在C++编程中,类模板(Class Template)是泛型编程的一种形式,允许创建可适用于不同数据类型的...
标题 "索引队列-C#中的自定义队列" 指向了一个特定的数据结构实现,即在C#编程环境中创建一个支持索引访问的队列。在标准的`System.Collections.Generic.Queue<T>`类中,元素只能通过入队(Enqueue)和出队...
11. **队列实现(LinkedList<T> 和 Queue)**:虽然C#提供了内置的队列实现,但学习如何用链表或数组自定义队列有助于理解其底层工作原理。 12. **优先队列(PriorityQueue)**:优先队列按照优先级顺序处理元素,...
Java 双端队列的实现 Java 中的双端队列(Deque)是一种特殊的队列,能够在队列的两端进行元素的添加和删除...Java 实现自定义双端队列可以通过链表和数组两种方式实现,双端队列可以充当单端队列,也可以用于充当栈。
在C#中,我们可以通过自定义类来实现泛型循环队列,通常需要维护两个指针,一个指向队首,一个指向队尾,同时管理数组的边界条件。 在本实例中,不仅展示了如何创建和操作这两种队列,还演示了队列中元素的变化过程...
在C++中,可以使用STL(标准模板库)中的`std::queue`容器来实现队列,但如果你想要自定义队列的实现,可以创建一个类,包含队列操作的方法如`enqueue`、`dequeue`等,并使用上述的链表或数组来存储元素。...
对于循环队列,我们可以定义一个模板类,让其能适应不同类型的数据,如int、float、自定义对象等。模板类的定义会包括前面提到的基本操作函数,如enqueue、dequeue、isFull、isEmpty等,同时在内部使用模板参数来...
这个实例185可能是进一步讨论泛型数组类如何应用于实际项目,例如作为缓存、队列或其他数据结构的基础,或者作为工具类帮助处理不同类型的数据集。标签中的"源码"表明可能有具体的代码实现供学习,而"工具"可能意味...
`custom_queue`项目旨在提供一个通用的对象自定义队列实现,它允许开发者根据具体需求定制队列的行为,例如添加特殊操作、同步机制或优化性能。该项目依赖于GSON、Google的异步库以及Jackson Core,这些库分别用于...
数组还可以有自定义的方法,增加其可操作性。 7. **数组的并行操作**:在SV中,数组元素可以被并行处理,这对于实现高效的硬件算法至关重要。例如,可以使用`foreach`循环来并行处理数组的每个元素。 8. **队列...
自定义队列的实现方式有: 1. 双端队列(Deque):可以同时在两端进行入队和出队操作,例如C++中的`std::deque`。 2. 链表:使用链表,入队在尾部插入节点,出队则删除头部节点。 3. 循环数组:当数组满时,通过循环...
自定义队列通常涉及以下关键组件和操作: 1. **初始化**:创建队列时,需要设置一个初始容量或默认为空。 2. **入队**:在队列末尾添加元素。这可以通过动态数组或链表来实现,确保在达到容量限制时能自动扩展。 3....
所谓双端队列(double-ended queue,deque),就是在...使用循环数组方式实现双端队列,要求实现上述操作,并实现一个Print输出操作, 能将队列由左至右的次序输出于一行,元素间用空格间隔。队列元素类型设为整型。
易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar 易语言源码易语言自定义数据类型的内存存储方式.rar ...