2020-11-17 03:12:09 +01:00
|
|
|
mod merge_sort;
|
|
|
|
use crate::merge_sort::merge_sort_inversions;
|
|
|
|
use std::fs::File;
|
|
|
|
use std::io;
|
|
|
|
use std::io::{BufRead, BufReader, Error, ErrorKind};
|
2020-11-17 02:24:01 +01:00
|
|
|
use std::vec::Vec;
|
|
|
|
|
2020-11-17 03:12:09 +01:00
|
|
|
fn read_to_vector(path: &str) -> Result<Vec<i64>, io::Error> {
|
|
|
|
let file = File::open(path)?;
|
|
|
|
let br = BufReader::new(file);
|
|
|
|
let mut v = Vec::new();
|
|
|
|
for line in br.lines() {
|
|
|
|
let line = line?;
|
|
|
|
let n = line
|
|
|
|
.trim()
|
|
|
|
.parse()
|
|
|
|
.map_err(|e| Error::new(ErrorKind::InvalidData, e))?;
|
|
|
|
v.push(n);
|
2020-11-17 02:24:01 +01:00
|
|
|
}
|
2020-11-17 03:12:09 +01:00
|
|
|
Ok(v)
|
2020-11-17 02:24:01 +01:00
|
|
|
}
|
|
|
|
|
2020-11-17 03:12:09 +01:00
|
|
|
fn c1a2() {
|
|
|
|
let vec = read_to_vector("data/week_2_assignment_2.txt").unwrap();
|
|
|
|
let (_sorted, inversions) = merge_sort_inversions(vec);
|
|
|
|
// println!("{:?}", sorted.len());
|
|
|
|
println!("course 1 assignment 2: {:?}", inversions);
|
2020-11-13 20:48:47 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
2020-11-17 03:12:09 +01:00
|
|
|
c1a2();
|
2020-11-13 20:48:47 +01:00
|
|
|
}
|