modernize std::deque
* use a proper exported data type with private fields * implement core::container::Container * use the current constructor convention * use explicit self * get rid of DVec and the mutable fields Closes #2343
This commit is contained in:
parent
8d8c25b825
commit
b47e1e9eda
3 changed files with 119 additions and 144 deletions
|
|
@ -23,7 +23,6 @@ use std::time;
|
|||
use std::oldmap;
|
||||
use std::oldmap::Map;
|
||||
use std::oldmap::HashMap;
|
||||
use std::deque;
|
||||
use std::deque::Deque;
|
||||
use std::par;
|
||||
use core::io::WriterUtil;
|
||||
|
|
@ -124,18 +123,18 @@ fn bfs(graph: graph, key: node_id) -> bfs_result {
|
|||
let mut marks : ~[node_id]
|
||||
= vec::from_elem(vec::len(graph), -1i64);
|
||||
|
||||
let Q = deque::create();
|
||||
let mut q = Deque::new();
|
||||
|
||||
Q.add_back(key);
|
||||
q.add_back(key);
|
||||
marks[key] = key;
|
||||
|
||||
while Q.size() > 0 {
|
||||
let t = Q.pop_front();
|
||||
while !q.is_empty() {
|
||||
let t = q.pop_front();
|
||||
|
||||
do graph[t].each() |k| {
|
||||
if marks[*k] == -1i64 {
|
||||
marks[*k] = t;
|
||||
Q.add_back(*k);
|
||||
q.add_back(*k);
|
||||
}
|
||||
true
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,10 +11,9 @@
|
|||
// except according to those terms.
|
||||
|
||||
extern mod std;
|
||||
use std::deque;
|
||||
use std::deque::Deque;
|
||||
|
||||
pub fn main() {
|
||||
let Q = deque::create();
|
||||
Q.add_back(10);
|
||||
let mut q = Deque::new();
|
||||
q.add_back(10);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue