2008. 5. 10. 00:34ㆍETC Programmings
#include <stdio.h>
#include <stdlib.h>
#define INIT_LENGTH 100;
struct ArrayList
{
int *dataSet;
int length;
int initLength;
} list;
void initList();
void initListSize(int);
void add(int);
void addInIndex(int , int);
void erase(int);
void replace(int, int);
void reset();
void display();
int get(int);
int isFull();
int isEmpty();
void initList()
{
list.initLength = INIT_LENGTH;
list.dataSet = calloc(list.initLength,sizeof(int));
list.length = 0;
}
void add(int value)
{
list.dataSet[list.length] = value;
list.length += 1;
}
void addInIndex(int value, int index)
{
int temp = list.dataSet[index];
if(index < list.length)
{
replace(value, index);
index += 1;
addInIndex(temp, index);
}
else
add(temp);
}
void erase(int index)
{
int i;
for (i = index; i < list.length - 1; i++)
list.dataSet[i] = list.dataSet[i + 1];
list.length -= 1;
}
void replace(int value, int index)
{
list.dataSet[index] = value;
}
void display()
{
int i;
for (i = 0 ; i< list.length ; i++)
printf("[ %d ] ", list.dataSet[i]);
printf("\n");
}
int get(int index)
{
return list.dataSet[index];
}
void main()
{
initList();
add(3);
add(4);
add(5);
addInIndex(333, 0);
display();
}