Java设计一个有序递增顺序表,实现元素比较大小后插入、删除等操作
时间: 2024-02-01 08:02:30 浏览: 45
public class SortedList<T extends Comparable<T>> {
private T[] array;
private int size;
public SortedList(int capacity) {
array = (T[]) new Comparable[capacity];
size = 0;
}
public boolean isEmpty() {
return size == 0;
}
public boolean isFull() {
return size == array.length;
}
public int size() {
return size;
}
public void insert(T data) {
if (isFull()) {
throw new RuntimeException("List is full");
}
int i;
for (i = 0; i < size; i++) {
if (array[i].compareTo(data) >= 0) {
break;
}
}
for (int j = size - 1; j >= i; j--) {
array[j + 1] = array[j];
}
array[i] = data;
size++;
}
public void delete(T data) {
int i = find(data);
if (i == -1) {
throw new RuntimeException("Data not found");
}
for (int j = i; j < size - 1; j++) {
array[j] = array[j + 1];
}
size--;
}
public int find(T data) {
for (int i = 0; i < size; i++) {
if (array[i].equals(data)) {
return i;
}
}
return -1;
}
public void display() {
for (int i = 0; i < size; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
}