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}