java里顺序表怎么判断是否满_2、顺序表的实现(java代码)
public classLinear_List {private int[] arr; //用來保存數據
private int size; //實際存入數據占用空間大小
/**
* 初始化線性表,聲明數組大小
*
* @param initial_size:數組大小*/
public Linear_List(intinitial_size) {if (initial_size >= 0) {this.arr = new int[initial_size]; //初始化數組
this.size = 0; //初始下標為0
} else{
System.out.println("你給的初始值:" + initial_size + "不能小于0");
}
}/**
* 判斷線性表滿沒有
*
* @return :真則滿,假未滿*/
publicboolean isFull() {if (this.size ==arr.length) {return true;
}else{return false;
}
}/**
* 判斷線性表是否為空
*
* @return :真則空,假未空*/
publicboolean isEmpty() {if (this.size == 0) {return true;
}else{return false;
}
}/**
* 1、增加元素
*
* @param value :要插入的數據
* @param index :插入的位置*/
public void addData(int value, intindex) {if(isFull()) {
System.out.println("線性表已滿");
}else if (index < 0 || index >arr.length) {
System.out.println("插入的下標越界,您要插入的下標為:" +index);
}else{for (int i = this.size - 1; i >= index; i--) {
arr[i+ 1] = arr[i]; //依次后移
}
arr[index]=value;this.size++; //數組元素下標增加
}
}/**
* 2、刪除元素
*
* @param value :要刪除的數*/
public void deleteData(intvalue) {int pos =find(value);if (pos == -1) {
System.out.println("您要找的" + value + "元素不在該線性表中");
}else{
System.out.println("您要刪除的" + value + "元素下標為:" +pos);
}for (int j = pos; j <= this.size - 2; j++) { //這里-2,是因為找到的元素下標,要將后一個的沖掉前一個,會增加一個
arr[j] = arr[j + 1];
}this.size--;
}/**
* 3、查找元素下標
* @param value :所要查找的元素
* @return :返回下標*/
public int find(intvalue) {int pos = -1;if(isEmpty()) {
System.out.println("線性表已空,沒有可刪除元素");
}else{for (int i = 0; i <= this.size - 1; i++) {if (arr[i] ==value) {
pos=i;
}
}
}returnpos;
}/**
* 打印線性表元素*/
public voidprint() {for (int i = 0; i <= this.size - 1; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}public static voidmain(String[] args) {//初始化順序表
Linear_List linear_list = new Linear_List(10);for (int i = 0; i < 10; i++) {
linear_list.addData(i+ 1, i);
}
linear_list.print();//刪除
linear_list.deleteData(5);
linear_list.print();//增加測試
linear_list.addData(5, 1);
linear_list.print();//查找元素下標
int find_value = 15;int pos =linear_list.find(find_value);if (pos == -1) {
System.out.println("您要找的" + find_value + "元素不在該線性表中");
}else{
System.out.println("您要找的" + find_value + "元素下標為:" +pos);
}
}
}
總結
以上是生活随笔為你收集整理的java里顺序表怎么判断是否满_2、顺序表的实现(java代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java编译器使用教程_Java编译器A
- 下一篇: java自由块_JAVA 静态的自由块和