java语言实现顺序表
2015-06-09 14:49
405 查看
public class SqList { private int[] data; private int length; public SqList() { data = new int[30]; length = 0; } public boolean empty() { return length == 0; } public int length() { return length; } public void display() { int i; for(i=0; i<length-1; i++) { System.out.print(data[i]+"->"); } System.out.println(data[i]); } public int[] get(int i) { int[] arr = new int[2]; if(i<1 || i>length) { arr[0] = 0; return arr; } arr[0] = 1; arr[1] = data[i-1]; return arr; } public int locate(int e) { int i=0; while(i<length && data[i]!=e) { i++; } if(i == length) return 0; else return i+1; } public boolean insert(int i, int e) { if(i<1 || i>length) { return false; } i--; for(int j=length; j>i; j--) { data[j] = data[j-1]; } data[i] = e; length ++; return true; } public int[] delete(int i) { int[] arr = new int[2]; if(i<1 || i>length) { arr[0] = 0; return arr; } i--; arr[0] = 1; arr[1] = data[i]; for(int j=i; j<length-1; j++) { data[j] = data[j+1]; } length--; return arr; } public void create(int[] arr, int n) { for(int i=0; i<n; i++) { data[i] = arr[i]; } length = n; } public static void main(String[] args) { int[] arr = new int[]{5,6,1,6,9,3,7,8}; SqList list = new SqList(); list.create(arr, arr.length); System.out.println(list.empty()); System.out.println(list.length()); list.display(); if(list.get(3)[0] == 0) { System.out.println("error"); } else { System.out.println(list.get(3)[1]); } if(list.get(0)[0] == 0) { System.out.println("error"); } else { System.out.println(list.get(0)[1]); } System.out.println(list.locate(6)); System.out.println(list.locate(4)); if(!list.insert(0, 4)) { System.out.println("error"); } else { list.display(); } if(!list.insert(4, 4)) { System.out.println("error"); } else { list.display(); } int[] res = list.delete(0); if(res[0] == 0) { System.out.println("error"); } else { System.out.println("delete "+res[1]); list.display(); } res = list.delete(6); if(res[0] == 0) { System.out.println("error"); } else { System.out.println("delete "+res[1]); list.display(); } } }
结果:
false 8 5->6->1->6->9->3->7->8 1 error 2 0 error 5->6->1->4->6->9->3->7->8 error delete 9 5->6->1->4->6->3->7->8
相关文章推荐
- Java @override报错的解决方法
- Java-找出两个单链表的首个公共节点
- Myeclipse自带的derby去除
- java中byte与int互转
- java权限设计思路之一
- java中byte与int互转
- java中byte与int互转
- Java泛型 通配符的限定
- java的类加载器ClassLoader
- java自动获得电脑网络配置并存储在beanUtil中
- java的类加载器ClassLoader
- JAVA 中的 Collection FrameWork
- 修改eclipse/MyEclipse中项目包的显示结构
- java集合类都有哪些?主要方法?
- Spring学习笔记之Spring与JDBC整合
- java的类加载器ClassLoader
- java设定窗口步长,依次统计窗口内数值总和
- java设定窗口步长,依次统计窗口内数值总和
- springmvc快速入门
- JAVA字符串分割,两个分隔符的,怎么实现