aboutsummaryrefslogtreecommitdiffstats
path: root/tests/arraypop.c
blob: fce459f0115368d6aacf42a914e9078082e7d4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#define CONTAINER_IMPLEMENTATION
#include "../include/container.h"

#include <stdio.h>

int main(int argc, char *argv[]) {
	int buf[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
	int* a = array_new_buffer_copy(int, buf, 10);
	array_pop(a);
	array_pop_at(a, 0);
	array_pop_at(a, 4); /* should remove 5 */
	for (size_t i = 0; i < array_size(a); ++i) {
		printf("array[%zu] = %i\n", i, a[i]);
	}
	size_t sz = array_size(a);
	for (size_t i = 1; i < sz - 1; ++i) {
		printf("removing element at index %zu: %i\n", i, a[1]);
		array_pop_at(a, 1);
	}
	for (size_t i = 0; i < array_size(a); ++i) {
		printf("array[%zu] = %i\n", i, a[i]);
	}
	array_pop_at(a, array_size(a) - 1);
	array_free(a);
}