数据结构java代码数组和链表
本文将介绍使用Java实现常用数据结构的代码,包括数组、链表、栈、队列、树、图等。
1. 数组
数组是一种线性数据结构,它由相同类型的元素组成,并按照一定顺序排列。我们可以使用Java中的数组来实现它,下面是一个示例代码:
```
public class Array {
private int[] data;
private int size;
// 构造函数,传入数组的容量capacity构造Array
public Array(int capacity){
data = new int[capacity];
size = 0;
}
// 无参构造函数,默认数组的容量capacity=10
public Array(){
this(10);
}
// 获取数组的容量
public int getCapacity(){
return data.length;
}
// 获取数组中的元素个数
public int getSize(){
return size;
}
// 返回数组是否为空
public boolean isEmpty(){
return size == 0;
}
// 在index位置插入一个新元素e
public void add(int index, int e){
if(index < 0 || index > size)
throw new IllegalArgumentException('Add failed. Require index >= 0 and index <= size.');
if(size == data.length)
resize(2 * data.length);
for(int i = size - 1 ; i >= index ; i --)
data[i + 1] = data[i];
data[index] = e;
size ++;
}
// 在所有元素前添加一个新元素
public void addFirst(int e){
add(0, e);
}
// 向所有元素后添加一个新元素
public void addLast(int e){
add(size, e);
}
// 获取index索引位置的元素
public int get(int index){
if(index < 0 || index >= size)
throw new IllegalArgumentException('Get failed. Index is illegal.');
return data[index];
}
// 修改index索引位置的元素为e
public void set(int index, int e){
if(index < 0 || index >= size)
throw new IllegalArgumentException('Get failed. Index is illegal.');
data[index] = e;
}
// 查数组中是否有元素e
public boolean contains(int e){
for(int i = 0 ; i < size ; i ++){
if(data[i] == e)
return true;
}
return false;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论