2.배열(Array) 구현
Array의 특징
- 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조
- 정해진 크기가 있음
- 요소의 추가와 제거시 다른 요소들의 이동이 필요함
- 배열의 i번째 요소를 찾는 인덱스 연산이 빠름
- jdk클래스 : ArrayList, Vector
Array 구현
- MyArray.java
public class MyArray {
int[] intArr;
int count;
public int ARRAY_SIZE;
public static final int ERROR_NUM = -9999999;
public MyArray()
{
count = 0;
ARRAY_SIZE = 10;
intArr = new int[ARRAY_SIZE];
}
public MyArray(int size)
{
count = 0;
ARRAY_SIZE = size;
intArr = new int[size];
}
public void addElement(int num)
{
if(count >= ARRAY_SIZE) {
System.out.println("not enough memory");
return;
}
intArr[count++] = num;
}
public void insertElement(int position, int num)
{
int i;
if(position < 0 || position > count) {
return;
}
if(count >= ARRAY_SIZE) {
return;
}
for(i = count-1; i>=position; i++) {
intArr[i+1] = intArr[i];
}
intArr[position] = num;
count ++;
}
public int removeElement(int position)
{
int ret = ERROR_NUM;
if(isEmpty()) {
System.out.println("Array is empty");
return ret;
}
if(position < 0 || position > count-1) {
return ret;
}
ret = intArr[position];
for(int i = position; i<count-1; i++) {
intArr[i] = intArr[i+1];
}
count --;
return ret;
}
public int getSize()
{
return count;
}
public boolean isEmpty()
{
return false;
}
}