@@ -18,7 +18,7 @@ fn random_access(nums: &[i32]) -> i32 {
1818}
1919
2020/* 扩展数组长度 */
21- fn extend ( nums : Vec < i32 > , enlarge : usize ) -> Vec < i32 > {
21+ fn extend ( nums : & [ i32 ] , enlarge : usize ) -> Vec < i32 > {
2222 // 初始化一个扩展长度后的数组
2323 let mut res: Vec < i32 > = vec ! [ 0 ; nums. len( ) + enlarge] ;
2424 // 将原数组中的所有元素复制到新
@@ -30,7 +30,7 @@ fn extend(nums: Vec<i32>, enlarge: usize) -> Vec<i32> {
3030}
3131
3232/* 在数组的索引 index 处插入元素 num */
33- fn insert ( nums : & mut Vec < i32 > , num : i32 , index : usize ) {
33+ fn insert ( nums : & mut [ i32 ] , num : i32 , index : usize ) {
3434 // 把索引 index 以及之后的所有元素向后移动一位
3535 for i in ( index + 1 ..nums. len ( ) ) . rev ( ) {
3636 nums[ i] = nums[ i - 1 ] ;
@@ -40,7 +40,7 @@ fn insert(nums: &mut Vec<i32>, num: i32, index: usize) {
4040}
4141
4242/* 删除索引 index 处的元素 */
43- fn remove ( nums : & mut Vec < i32 > , index : usize ) {
43+ fn remove ( nums : & mut [ i32 ] , index : usize ) {
4444 // 把索引 index 之后的所有元素向前移动一位
4545 for i in index..nums. len ( ) - 1 {
4646 nums[ i] = nums[ i + 1 ] ;
@@ -73,13 +73,15 @@ fn find(nums: &[i32], target: i32) -> Option<usize> {
7373/* Driver Code */
7474fn main ( ) {
7575 /* 初始化数组 */
76- let arr = [ 0 ; 5 ] ;
76+ let arr: [ i32 ; 5 ] = [ 0 ; 5 ] ;
77+ let slice: & [ i32 ] = & [ 0 ; 5 ] ;
7778 print ! ( "数组 arr = " ) ;
7879 print_util:: print_array ( & arr) ;
79- // 在 Rust 中,指定长度时([i32; 5])为数组
80+ // 在 Rust 中,指定长度时([i32; 5])为数组,不指定长度时(&[i32])为切片
8081 // 由于 Rust 的数组被设计为在编译期确定长度,因此只能使用常量来指定长度
81- // 为了方便实现扩容 extend() 方法,以下将(Vec) 看作数组(Array)也是rust一般情况下使用动态数组的类型
82- let nums = vec ! [ 1 , 3 , 2 , 5 , 4 ] ;
82+ // Vector 是 Rust 一般情况下用作动态数组的类型
83+ // 为了方便实现扩容 extend() 方法,以下将 vector 看作数组(array)
84+ let nums: Vec < i32 > = vec ! [ 1 , 3 , 2 , 5 , 4 ] ;
8385 print ! ( "\n 数组 nums = " ) ;
8486 print_util:: print_array ( & nums) ;
8587
@@ -88,7 +90,7 @@ fn main() {
8890 println ! ( "\n 在 nums 中获取随机元素 {}" , random_num) ;
8991
9092 // 长度扩展
91- let mut nums = extend ( nums, 3 ) ;
93+ let mut nums: Vec < i32 > = extend ( & nums, 3 ) ;
9294 print ! ( "将数组长度扩展至 8 ,得到 nums = " ) ;
9395 print_util:: print_array ( & nums) ;
9496
0 commit comments