Cod sursa(job #3147786)

Utilizator andreioneaAndrei Onea andreionea Data 27 august 2023 04:21:28
Problema Sortare prin comparare Scor 100
Compilator rs Status done
Runda Arhiva educationala Marime 0.99 kb
#![allow(non_snake_case)]
#![allow(unused_variables)]
use std::fs;
use std::fs::File;
use std::io::{BufWriter, BufReader};
use std::io::prelude::*;
use std::str;

fn main() {
    let mut buffer: Vec<u8> = Vec::with_capacity(32);
    let mut infile = BufReader::new(fs::File::open("algsort.in").expect("File empty!"));
    infile.read_until(b'\n', &mut buffer).expect("Could not read N");
    let N = str::from_utf8(&buffer).expect("Unable to parse N").to_owned();
    let N = N.trim().parse::<u32>().unwrap();
    let mut V: Vec<u32> = Vec::with_capacity(N as usize);
    for _ in 0..N {
        buffer.clear();
        infile.read_until(b' ', &mut buffer).expect("Could not read item");
        let x = str::from_utf8(&buffer).expect("Unable to parse N").to_owned();
        let x = x.trim().parse::<u32>().unwrap();
        V.push(x);
    }
    V.sort();
    let mut writer = BufWriter::new(File::create("algsort.out").unwrap());
    V.iter().for_each(|x| {
        write!(writer,"{x} ").unwrap();
    });
}