From a1979af4de4c3f2d6a3cea3d3181170b67647143 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sat, 15 Aug 2020 14:32:59 +0200 Subject: vereinfache das Kopieren der Chunkzeiger. --- deque.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/deque.c b/deque.c index a4fbc1b..f1da207 100644 --- a/deque.c +++ b/deque.c @@ -71,9 +71,12 @@ grow_map(struct deque *d) T ** map = calloc(capacity, sizeof *map); // copy elements - size_t i; - for ( i = 0; i != d->map_capacity; ++i ) { - map[i] = d->map[(i + d->map_begin) % d->map_capacity]; + size_t i, j; + for ( i = 0, j = d->map_begin; i != d->map_capacity; ++i, ++j ) { + if ( j == d->map_capacity ) { + j = 0; + } + map[i] = d->map[j]; } // initialize the rest (new) elements with NULL @@ -280,15 +283,6 @@ main(void) deque_init(&c); - for ( int i = 0; i != 100; ++i ) { - deque_push_back(&c, i); - //deque_show(&c); - } - - for ( int i = 0; i != 100; ++i ) { - deque_push_front(&c, 1000 + i); - } - T data; while ( deque_pop_front(&c, &data) ) { printf("%u, ", data); -- cgit v1.3