Added remove_row() and remove_col()
This commit is contained in:
parent
6aa94cd87b
commit
5f5720fa6a
1 changed files with 2 additions and 22 deletions
22
src/lib.rs
22
src/lib.rs
|
@ -562,13 +562,9 @@ impl<T> Grid<T> {
|
||||||
/// use grid::*;
|
/// use grid::*;
|
||||||
/// let mut grid = grid![[1,2][3,4][5,6]];
|
/// let mut grid = grid![[1,2][3,4][5,6]];
|
||||||
/// assert_eq![grid.remove_row(1), Some(vec![3,4])];
|
/// assert_eq![grid.remove_row(1), Some(vec![3,4])];
|
||||||
/// println!("grid: {:?}", grid);
|
|
||||||
/// assert_eq![grid.remove_row(0), Some(vec![1,2])];
|
/// assert_eq![grid.remove_row(0), Some(vec![1,2])];
|
||||||
/// println!("grid: {:?}", grid);
|
|
||||||
/// assert_eq![grid.remove_row(0), Some(vec![5,6])];
|
/// assert_eq![grid.remove_row(0), Some(vec![5,6])];
|
||||||
/// println!("grid: {:?}", grid);
|
|
||||||
/// assert_eq![grid.remove_row(0), None];
|
/// assert_eq![grid.remove_row(0), None];
|
||||||
/// println!("grid: {:?}", grid);
|
|
||||||
/// ```
|
/// ```
|
||||||
pub fn remove_row(&mut self, row_index: usize) -> Option<Vec<T>> {
|
pub fn remove_row(&mut self, row_index: usize) -> Option<Vec<T>> {
|
||||||
if self.cols == 0 || self.rows == 0 || row_index > self.rows {
|
if self.cols == 0 || self.rows == 0 || row_index > self.rows {
|
||||||
|
@ -628,26 +624,10 @@ impl<T> Grid<T> {
|
||||||
if self.cols == 0 || self.rows == 0 || col_index > self.cols {
|
if self.cols == 0 || self.rows == 0 || col_index > self.cols {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
println!(
|
|
||||||
"self.rows: {};row_index: {}, self.cols: {}",
|
|
||||||
self.rows, col_index, self.cols
|
|
||||||
);
|
|
||||||
let mut residue: Vec<T> = vec![];
|
let mut residue: Vec<T> = vec![];
|
||||||
for i in 0..self.rows {
|
for i in 0..self.rows {
|
||||||
println!(
|
self.cols -= 1;
|
||||||
"{} * {} + {} - {} == {}",
|
|
||||||
i,
|
|
||||||
self.cols,
|
|
||||||
col_index,
|
|
||||||
i,
|
|
||||||
i * self.cols + col_index - i
|
|
||||||
);
|
|
||||||
residue.push(self.data.remove(i * self.cols + col_index - i));
|
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
0 * 16 + 0 - 1 - 0
|
|
||||||
*/
|
|
||||||
self.cols -= 1;
|
|
||||||
Some(residue)
|
Some(residue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue