Avatar ·

كيفية فرز متجه في Rust: دليل كامل مع أمثلة

مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مشكلة في فرز متجه. في لغات أخرى، مثل Python أو JavaScript، يتم ذلك بسطر واحد، لكنني هنا مرتبك تماماً. لدي متجه من الأرقام: ```rust let mut numbers = vec![5, 2, 8, 1, 9, 3]; ``` أريد فرزه تصاعدياً. حاولت القيام بذلك: ```rust numbers.sort(); ``` لكن المترجم يعطي خطأ: "the trait `std::cmp::Ord` is not implemented for `i32`". على الرغم من أنني اعتقدت أنه يجب أن يعمل للأرقام بشكل افتراضي. أيضاً لدي متجه من السلاسل النصية: ```rust let mut fruits = vec!["banana", "apple", "cherry", "date"]; ``` هنا الفرز لا يعمل على الإطلاق — المترجم يكتب عن الاقتراض والتحريك. كما حاولت فرز الهياكل: ```rust struct Person { name: String, age: u32, } let mut people = vec![ Person { name: "Alice".to_string(), age: 30 }, Person { name: "Bob".to_string(), age: 25 }, Person { name: "Charlie".to_string(),