JAVA实现顺序表的增删查改

JAVA实现顺序表的增删查改

package Ilist;

public class List{
	int N=10,count=0;
	int []array=new int[N];
//	增
//position为要插入的位置 item为要插入的数据
	public boolean insert(int position,int item) {
		boolean insert = false;
		
		if(!full()){
		//如果在原有数组没查找到item以保证不插入相同的数据
			if(!search(item)) {       
				for(int i=count;i>position;i--) {
					array[i]=array[i-1];
				}
				array[position]=item;
				count++;
				insert=true;
			}
			else {
				System.out.println("The data already exists!");
			}
		}
		else {
			System.out.println("The array is full!");
		}
		return insert;	
	}
//	删
	public boolean remove(int position) {
		boolean remove=false;
		int item=0;
		if(!empty()) {
			if(search(item)) {
				if(position<=count&&position>=0)
				{
					for(int i=position;i<=count-1;i++) {
						array[i]=array[i+1];				
					}
					array[count]=0;
					count--;			
					remove=true;
				}
				else {
					System.out.println("Not in scape!");
				}
			}
			else {
				System.out.println("The data does not exsit!");
			}
		}
		else {
			System.out.println("The array is  empty!");
		}
		return remove;
	}
//	查
	public int indexof(int x) {
		int j=0;
		while(j<=count&&array[j]!=x) {
			j++;
		}
		if(j<=count) {
			return j;
		}
		else {
			return -1;
		}
	}
//	判断表是否为空
	private boolean empty() {
		return count<=0;
	}
//	判断所修改的变量是否存在
	private boolean search(int item) {
		boolean search=false;
		for(int i:array) {
			if(i==item) {
				search=true;
			}
			else {	
			}
		}
		return search;
	}
//	判断表是否已满
	private boolean full() {
		return count>=N;
	}
//	打印表
	public void display() {
		for(int i:array) {
			System.out.println(i);
		}
	}
}
*****************************************
//测试类
package Ilist;

public class Test {
public static void main(String[] args) {
	List list1 =new List();
	list1.insert(0,1);
	list1.insert(1,2);
	list1.insert(2,3);
	list1.insert(3,5);
	//当下标为3、4时都插入5 array[4]插入失败
	list1.insert(4,5);
	list1.insert(5,6);
	list1.insert(6,7);
	list1.insert(7,8);
	list1.insert(8,9);
	list1.display();
	System.out.println("**********");
    list1.remove(4);
	list1.display();
	System.out.println("**********");
	list1.remove(0);
	list1.display();
	System.out.println(list1.indexof(9));
}
}

运行结果:
The data already exists!
1
2
3
5
0
6
7
8
9
0


1
2
3
5
6
7
8
9
0
0


2
3
5
6
7
8
9
0
0
0
6

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值