java打印线性表,Java操作线性表

首先定义线性表模型以及相关的操作

public class MySqList {

private static int MAX_SIZE = 100;

/** 数组 */

public static int[] data;

/** 记录线性表的长度*/

public static int size;

/**

* 初始化线性表

*/

public static int init() {

data = new int[MAX_SIZE];

size = 0;

return size;

}

/**

* 创建一个长度为n的线性表

* @param n

* @return

*/

public static int[] createSq(int n) {

init();

if (n > MAX_SIZE) {

return null;

}

for (int i = 0; i < n; i++) {

data[i] = i+1;

}

size = n;

int[] temp = new int[n];

for (int i = 0; i < n; i++) {

temp[i] = data[i];

}

return temp;

}

/**

* 获取线性表,第n的位置的数据

* @param n

* @param arr

* @return

*/

public static int getValue(int n, int[] arr) {

if (n > size) {

return -1;

}

return arr[n-1];

}

/**

* 查询,线性表中值为value的数据,成功返回其位置,失败返回-1;

* @param value

* @param arr

* @return

*/

public static int searchValue(int value, int[] arr) {

for (int i = 0; i < size; i++) {

if (data[i] == value) {

return i+1;

}

}

return -1;

}

/**

* 向线性表插入一个数据,成功返回线性表长度,失败返回-1;

* @param i

* @param value

* @param arr

* @return

*/

public static int insertSq(int i, int value, int[] arr) {

if (i < i || i > size+1) {

return -1;

}

if (arr.length == MAX_SIZE) {

return -1;

}

int j = -1;

for (j = size -1; j >= i-1 ; j--) {

data [j+1] = data[j];

}

data[j+1] = value;

size++;

return size;

}

/**

* 删除第n的位置的值

* @param n

* @param arr

* @return

*/

public static int deleteSq(int n, int[] arr) {

if (n < 1 || n > size) {

return -1;

}

for (int i = n-1; i < size; i++) {

data[i] = data[i+1];

}

size--;

return size;

}

}

测试

public class SqTest {

public static void main(String[] args) {

m6();

}

private static void m6() {

int[] sq = MySqList.createSq(10);

int i = MySqList.deleteSq(11, sq);

System.out.println(i);

}

private static void m5() {

int[] sq = MySqList.createSq(10);

int i = MySqList.insertSq(5, 100, sq);

System.out.println(i);

int[] data = MySqList.data;

for (int datum : data) {

System.out.println(datum);

}

}

private static void m4() {

int[] sq = MySqList.createSq(10);

int i = MySqList.searchValue(100, sq);

System.out.println(i);

}

private static void m3() {

int[] sq = MySqList.createSq(10);

int value = MySqList.getValue(11, sq);

System.out.println(value);

}

private static void m2() {

int[] sq = MySqList.createSq(10);

for (int i : sq) {

System.out.println(i);

}

}

private static void m1() {

int init = MySqList.init();

System.out.println(init);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值