<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-3%3Ajham005%3Aarraylist.h</id>
	<title>SE250:lab-3:jham005:arraylist.h - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-3%3Ajham005%3Aarraylist.h"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-3:jham005:arraylist.h&amp;action=history"/>
	<updated>2026-09-11T08:14:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE250:lab-3:jham005:arraylist.h&amp;diff=5556&amp;oldid=prev</id>
		<title>Mark: 1 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-3:jham005:arraylist.h&amp;diff=5556&amp;oldid=prev"/>
		<updated>2008-11-03T05:19:20Z</updated>

		<summary type="html">&lt;p&gt;1 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; /*&lt;br /&gt;
   File:    arraylist.h&lt;br /&gt;
   Date:    18 March 2008&lt;br /&gt;
   Author:  John Hamer&lt;br /&gt;
   Purpose: Resizable array-based list data structure&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 typedef int element_t;	/* choose your favourite type */&lt;br /&gt;
 &lt;br /&gt;
 typedef&lt;br /&gt;
 struct {&lt;br /&gt;
   element_t *arr;		/* start of the array */&lt;br /&gt;
   int capacity;			/* number of elements available */&lt;br /&gt;
   int length;			/* number of positions used, 0..capacity */&lt;br /&gt;
 } ArrayList;&lt;br /&gt;
 &lt;br /&gt;
 void      arraylist_init(  ArrayList * );&lt;br /&gt;
 void      arraylist_clear( ArrayList * );&lt;br /&gt;
 &lt;br /&gt;
 int       arraylist_size(  ArrayList * );&lt;br /&gt;
 &lt;br /&gt;
 /* set and get an element by index */&lt;br /&gt;
 void      arraylist_put(   ArrayList *, element_t, int index );&lt;br /&gt;
 element_t arraylist_get(   ArrayList *, int index );&lt;br /&gt;
 &lt;br /&gt;
 /* add and remove elements from the end (largest index) */&lt;br /&gt;
 void      arraylist_push(  ArrayList *, element_t );&lt;br /&gt;
 element_t arraylist_pop(   ArrayList * );&lt;br /&gt;
 &lt;br /&gt;
 void      ensure_capacity( ArrayList *, int required_capacity );&lt;br /&gt;
 &lt;br /&gt;
 extern int    ARRAYLIST_MIN_ALLOC;&lt;br /&gt;
 extern double ARRAYLIST_GROWTH_FACTOR;&lt;br /&gt;
 extern int    ARRAYLIST_GROWTH_INCR;&lt;br /&gt;
 extern int    ARRAYLIST_ALWAYS_MALLOC;&lt;br /&gt;
 &lt;br /&gt;
 /*&lt;br /&gt;
   Calling pattern:&lt;br /&gt;
      init&lt;br /&gt;
      { size, put, get, push, pop, ensure_capacity, clear } *&lt;br /&gt;
      clear&lt;br /&gt;
  */&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>