use std::collections::HashSet;
/*
Function: merge_vectors
Purpose: Combine three integer vectors into a single vector.
*/
fn merge_vectors(vec_a: &[i32], vec_b: &[i32], vec_c: &[i32]) -> Vec<i32> {
let mut vec_merged: Vec<i32> = Vec::new();
vec_merged.extend_from_slice(vec_a);
vec_merged.extend_from_slice(vec_b);
vec_merged.extend_from_slice(vec_c);
vec_merged
}
/*
Function: unique_sorted
Purpose: Convert a vector into a sorted vector with unique elements.
Uses HashSet to remove duplicates, then sorts the result.
*/
fn unique_sorted(vec: Vec<i32>) -> Vec<i32> {
let set_unique: HashSet<i32> = vec.into_iter().collect();
let mut vec_unique: Vec<i32> = set_unique.into_iter().collect();
vec_unique.sort();
vec_unique
}
fn main() {
// Input vectors
let vec1 = vec![5, 1, 14, 3, 8, 9, 1, 1, 7];
let vec2 = vec![3, 5, 7, 2, 3];
let vec3 = vec![2, 9, 8];
// Step 1: Merge all vectors
let vec_merged = merge_vectors(&vec1, &vec2, &vec3);
// Step 2: Create sorted unique vector
let vec_result = unique_sorted(vec_merged);
// Step 3: Print result
print!("Sorted unique vector: ");
for x in vec_result {
print!("{} ", x);
}
}
/*
run:
Sorted unique vector: 1 2 3 5 7 8 9 14
*/