data_structure/
lib.rs

1pub mod linear;
2pub mod sorting;
3pub mod non_linear;
4pub mod stack;
5
6/// 表示数据结构操作中常见的错误类型
7///
8/// # 变体
9///
10/// - `IndexErr` - 索引越界错误,通常发生在访问、插入或删除元素时索引无效
11/// - `FullErr`  - 容器已满错误,通常发生在向固定容量容器插入新元素时超出限制
12#[derive(Debug)]
13pub enum Err {
14    IndexErr,
15    FullErr,
16}
17
18#[cfg(test)]
19mod tests {
20    use crate::linear::array::ArrayList;
21
22    #[test]
23    fn test1() {
24        let mut arr: ArrayList<char> = ArrayList::new();
25        arr.insert(1, 'a').expect("TODO: panic message");
26        arr.insert(2, 'b').expect("TODO: panic message");
27        arr.insert(3, 'c').expect("TODO: panic message");
28        // assert_eq!(arr.get_element(1), Ok('a'));
29        // assert_eq!(arr.length(), 3);
30        // let index = arr.locate_index('c').unwrap();
31        // assert_eq!(index, 3);
32        // let result = arr.get_element(4).unwrap();
33        // println!("{:?}", result);
34        // assert_eq!(result, 'c');
35    }
36}