在Java中实现排序向量
Vector 是一个实现 List 接口的类。它是一种动态数组,这意味着向量的大小可以在程序执行期间增大或缩小。向量的初始大小为 10,如果我们插入超过 10 个元素,则向量的大小增加 100%,或者我们可以说它的大小增加了一倍。比如,最初向量的大小是 10,如果我们插入超过 10 个元素,向量的大小是 20,在向量中插入 20 个元素后,向量的大小将是 40。
集合API的下图
其中有一个接口名称Collection,由Set、List和Queue接口扩展,List接口由'Vector'类扩展。
方法:降序排序的实现
用于实现 SortedVector
- 扩展向量。 (此处演示)
- 扩展 ArrayList。
- 扩展链表
- 直接实现List接口。
算法:
- 扩展向量类以实现 SortedVector。
- 用于在 SortedVector 中存储数据的私有数据成员。
- 为了创建 SortedVector 的对象,我们必须定义所有的构造函数。
- 为了在 SortedVector 中添加元素,我们创建了一个方法“addingElements”。
- 添加元素。
- 如果数据成员的大小小于或等于 1,则不需要排序。
- 如果大小大于 1,则对其进行排序。
- 如果用户输入字符串,则会引发错误。
- 最后,在已排序的向量中添加元素。
- 清除 SortedVector,然后按排序顺序添加所有数据。
下面是上述方法的实现:
Java
// We are going to implement sorted vector
// from inbuilt Vector class.
import java.util.*;
class SortedVector extends Vector
输出
After 1nd element Insertion:
After 1st element Insertion:
1
After 2nd element Insertion:
99
1
After 3rd element Insertion:
99
2
1
After 4th element Insertion:
99
2
1
0
时间复杂度: O(n 2 log n)