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;
}
}
'프로그래밍 언어 > 자료구조' 카테고리의 다른 글
5.큐(Queue) 구현 (0) | 2022.05.27 |
---|---|
4.스택(Stack) 구현 (0) | 2022.05.27 |
3.연결 리스트(LinkedList)구현 (0) | 2022.05.27 |
1.여러가지 자료구조(선형/비선형) (0) | 2022.05.26 |
댓글