这是程序的入口
public class test {
public static void main(String[] args) {
Sequential_tables sequential_tables = new Sequential_tables();
sequential_tables.Increase_space(3);//创建一个 顺序表,参数是初始容量
sequential_tables.change_the_size();//打印当前数组元素个数
sequential_tables.Increase_the_maximum_capacity();//打印当前数组最大容量
sequential_tables.Add_elements(1); //存放一个元素进去
sequential_tables.Add_elements(2);
sequential_tables.Add_elements(3);
sequential_tables.change_the_size();//打印当前数组元素个数
sequential_tables.Increase_the_maximum_capacity();//打印当前数组最大容量
sequential_tables.Add_elements(4);
sequential_tables.Add_elements(5);
sequential_tables.Prints_the_array();//打印全部数组元素
sequential_tables.change_the_size();//打印当前数组元素个数
sequential_tables.Increase_the_maximum_capacity();//打印当前数组最大容量
sequential_tables.Delete(0);//任意删除一个元素 参数传下标
sequential_tables.Prints_the_array();//打印全部数组元素
sequential_tables.Add_elements(0, 10);//任意添加一个元素
sequential_tables.Prints_the_array();//打印全部数组元素
sequential_tables.Search_deletes(2);//删除
sequential_tables.Prints_the_array();//打印全部数组元素
}
}
下面是 顺序表类
import java.util.Arrays;
public class Sequential_tables {
public int[] arr;//数组
public int the_current_size;//当前数组元素个数
public void change_the_size() { //当前元素个数
System.out.println("当前元素个数为->::" + the_current_size);
}
public void Increase_the_maximum_capacity() {//当前空间大小
System.out.println("当前空间大小为->::" + arr.length);
}
public void Increase_space(int tmp) { //开辟空间
this.arr = new int[tmp];
System.out.println("以成功开辟" + tmp + "个整形大小空间");
}
public void Add_elements(int tmp) {
if (the_current_size == arr.length) {
Expansion();
}
arr[the_current_size] = tmp;
the_current_size++;
}
public void Prints_the_array() {
for (int i = 0; i < the_current_size; i++) {
System.out.print(arr[i] + ", ");
}
System.out.println("已经打印完数组内容");
}
public void Expansion() {//数组扩容
arr = Arrays.copyOf(arr, 2 * arr.length);
System.out.println("扩容成功");
}
public void Delete(int subscript) {//删除一个元素
if (the_current_size <= subscript || subscript < 0) {
System.out.println("非法访问");
return;
}
int tmp = subscript;
for (int i = 0; i < (the_current_size - (tmp + 1)); i++) {
arr[subscript] = arr[subscript + 1];
subscript++;
}
the_current_size--;
System.out.println("删除元素成功");
}
public void Add_elements(int subscript, int element) {
the_current_size++;
int tmp = the_current_size - 2;
if (the_current_size > arr.length) {
Expansion();
}
while (true) {
arr[tmp + 1] = arr[tmp];
tmp--;
if (tmp == subscript - 1) {
System.out.println("添加元素成功");
break;
}
}
arr[subscript] = element;
}
public void Search_deletes(int element) {
for (int i = 0; i < the_current_size; i++) {
if (arr[i] == element) {
Delete(i);
return;
}
}
System.out.println("没有找到这个元素,删除失败");
}
}