Created
January 26, 2023 02:04
-
-
Save heiwa4126/26fc26f0cb1f1dea47fa00d1e3194224 to your computer and use it in GitHub Desktop.
ChatGPTに「Rustで配列を逆にする関数を書いてください」と聞いて出てきたコード。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ChatGPTに | |
// 「Rustで配列を逆にする関数を書いてください」と聞いて出てきたコード。 | |
// 追加で「オリジナルの配列を破壊的に逆にはできませんか?」と聞いて出てきたのが | |
// reverse_array_in_place() | |
fn reverse_array<T: Clone>(arr: &[T]) -> Vec<T> { | |
let mut reversed = vec![]; | |
for element in arr.iter().rev() { | |
reversed.push(element.clone()); | |
} | |
reversed | |
} | |
fn reverse_array_in_place<T>(arr: &mut [T]) { | |
let len = arr.len(); | |
for i in 0..len / 2 { | |
arr.swap(i, len - i - 1); | |
} | |
} | |
fn main() { | |
let original_arr = [1, 2, 3, 4, 5, 6]; | |
let mut reversed_arr = reverse_array(&original_arr); | |
// reverse_array_in_place()用にmut | |
println!("Original array: {:?}", original_arr); | |
println!("Reversed array: {:?}", reversed_arr); | |
reverse_array_in_place(&mut reversed_arr); | |
println!("Original array: {:?}", reversed_arr); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment