java里顺序表怎么判断是否满_2、顺序表的实现(java代码)
public classLinear_List {private int[] arr; //用來(lái)保存數(shù)據(jù)
private int size; //實(shí)際存入數(shù)據(jù)占用空間大小
/**
* 初始化線性表,聲明數(shù)組大小
*
* @param initial_size:數(shù)組大小*/
public Linear_List(intinitial_size) {if (initial_size >= 0) {this.arr = new int[initial_size]; //初始化數(shù)組
this.size = 0; //初始下標(biāo)為0
} else{
System.out.println("你給的初始值:" + initial_size + "不能小于0");
}
}/**
* 判斷線性表滿沒(méi)有
*
* @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 :要插入的數(shù)據(jù)
* @param index :插入的位置*/
public void addData(int value, intindex) {if(isFull()) {
System.out.println("線性表已滿");
}else if (index < 0 || index >arr.length) {
System.out.println("插入的下標(biāo)越界,您要插入的下標(biāo)為:" +index);
}else{for (int i = this.size - 1; i >= index; i--) {
arr[i+ 1] = arr[i]; //依次后移
}
arr[index]=value;this.size++; //數(shù)組元素下標(biāo)增加
}
}/**
* 2、刪除元素
*
* @param value :要?jiǎng)h除的數(shù)*/
public void deleteData(intvalue) {int pos =find(value);if (pos == -1) {
System.out.println("您要找的" + value + "元素不在該線性表中");
}else{
System.out.println("您要?jiǎng)h除的" + value + "元素下標(biāo)為:" +pos);
}for (int j = pos; j <= this.size - 2; j++) { //這里-2,是因?yàn)檎业降脑叵聵?biāo),要將后一個(gè)的沖掉前一個(gè),會(huì)增加一個(gè)
arr[j] = arr[j + 1];
}this.size--;
}/**
* 3、查找元素下標(biāo)
* @param value :所要查找的元素
* @return :返回下標(biāo)*/
public int find(intvalue) {int pos = -1;if(isEmpty()) {
System.out.println("線性表已空,沒(méi)有可刪除元素");
}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();//增加測(cè)試
linear_list.addData(5, 1);
linear_list.print();//查找元素下標(biāo)
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 + "元素下標(biāo)為:" +pos);
}
}
}
總結(jié)
以上是生活随笔為你收集整理的java里顺序表怎么判断是否满_2、顺序表的实现(java代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java编译器使用教程_Java编译器A
- 下一篇: java自由块_JAVA 静态的自由块和