#include <stdlib.h>

class array
{
private:
	int nin;	// number of elements
	long int *counters;// counters
	int ncounters;
	char **strings;// strings

	void	do_sort(int subindex, int start, int end);

public:
	array(int numberofcounters);
	~array();

	int	addstring(char *string, int defvalue=1);
	int	addelement(char *string);
	int	getn(void) { return nin; }
	void	setcounter(int index, int subindex, int value);
	int	getcounter(int index, int subindex);
	int	addcounter(int index, int subindex, int value);
	char *	getstring(int index) { if (index>=nin) return NULL; else return strings[index]; }
	void	sort(int subindex);
	void	swap_entry(int index1, int index2);
};


syntax highlighted by Code2HTML, v. 0.9.1