Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,690 questions

55,449 answers

573 users

How to create a sorted unique list from a matrix in Rust

1 Answer

0 votes
/*
    Create a sorted unique vec (vec) from a matrix (arr of arr).
    Steps:
      1. Flatten matrix into vec
      2. Sort vec (sort)
      3. Remove duplicates (dedup)
*/

fn make_sorted_unique_vec(mat: [[i32; 8]; 3], rows: usize, cols: usize) -> Vec<i32> {
    // Allocate vec with explicit numeric parameters
    let mut vec = Vec::with_capacity(rows * cols);

    // Flatten matrix into vec
    for row in mat {
        for x in row {
            vec.push(x);
        }
    }

    // Sort vec
    vec.sort();

    // Remove duplicates
    vec.dedup();

    vec
}

fn main() {
    let mat = [
        [5, 1, 17, 3, 8, 2, 1, 9],
        [3, 5, 7, 4, 2, 3, 4, 1],
        [9, 1, 8, 2, 3, 88, 17, 5],
    ];

    // Pass 3 and 8 explicitly
    let vec = make_sorted_unique_vec(mat, 3, 8);

    for x in vec {
        print!("{} ", x);
    }
}



/*
run:

1 2 3 4 5 7 8 9 17 88

*/

 



answered May 7 by avibootz
...