50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
#include "m-array.h"
|
|
|
|
// Let's define an array of 'char *' named 'charp'
|
|
ARRAY_DEF (array_charp, char *)
|
|
|
|
int main(void)
|
|
{
|
|
// Create an array list
|
|
array_charp_t al;
|
|
// Initialize it
|
|
array_charp_init(al);
|
|
|
|
// add elements to the array list
|
|
array_charp_push_back (al,"C");
|
|
array_charp_push_back (al,"A");
|
|
array_charp_push_back (al,"E");
|
|
array_charp_push_back (al,"B");
|
|
array_charp_push_back (al,"D");
|
|
array_charp_push_back (al,"F");
|
|
|
|
// Use iterator to display contents of al
|
|
printf("Original contents of al: ");
|
|
array_charp_it_t itr;
|
|
for (array_charp_it(itr, al) ; !array_charp_end_p (itr); array_charp_next(itr)) {
|
|
char *element = *array_charp_ref(itr);
|
|
printf ("%s ", element);
|
|
}
|
|
printf("\n");
|
|
|
|
// Now, display the list backwards
|
|
printf("Array backwards: ");
|
|
for (array_charp_previous (itr) ; !array_charp_end_p (itr); array_charp_previous(itr)) {
|
|
char *element = *array_charp_ref(itr);
|
|
printf ("%s ", element);
|
|
}
|
|
printf("\n");
|
|
|
|
// For array, we can also iterate over the integer
|
|
printf("Array Direct: ");
|
|
for(size_t i = 0 ; i < array_charp_size(al); ++i) {
|
|
char *element = *array_charp_get(al, i);
|
|
printf ("%s ", element);
|
|
}
|
|
printf("\n");
|
|
|
|
// Clear the array
|
|
array_charp_clear(al);
|
|
return 0;
|
|
}
|