hyeon.s
개발로그
hyeon.s
전체 방문자
오늘
어제
  • 분류 전체보기 (150)
    • Web 및 인프라 (1)
      • Web (1)
      • Terraform (2)
      • Docker (1)
    • Android (1)
      • 공부 (28)
      • 트러블슈팅 (12)
      • 프로젝트 개발 (10)
      • Compose (2)
      • 우테코 프리코스 (0)
    • Server (5)
      • 공부 (1)
      • Spring (4)
    • 알고리즘 (68)
      • 문제풀이 (C++,Kotlin) (54)
      • 공부 (13)
    • 디자인 (3)
      • UI (3)
    • Language (5)
      • Kotlin (5)
      • JAVA (0)
    • IT 동아리 (8)
      • UMC 3기 (Android) (7)
      • Sopt 32기 (Android) (1)

Github

글쓰기 / 관리자
hELLO · Designed By 정상우.
hyeon.s

개발로그

알고리즘

자료구조 배열 복습

2022. 3. 5. 13:57
728x90
// 배열 인덱스에 값 추가 방법
void add(int idx, int values)
{
for (int i=arrSize-2; i>=idx; i--)	
	{
	arr[i+1]=arr[i];
	}
    arr[idx]=values;
}
// 배열에 인덱스 값 삭제
void remove (int idx)
{
	for (int i=idx+1; i<arrSize; i++)
    {
    	arr[i-1]=a[i];
    }
    arr[arrSize-1]=0;
}

// reverse, shift
class Arrays
{
private:
    int* arr;
    int arrSize;
public:
    Arrays(int _arrSize)
    {
        this->arrSize = _arrSize;
        this->arr = new int[arrSize];
        for (int i = 0; i < arrSize; i++)
        {
            arr[i] = 0;
        }
    }
    void set(int idx, int values)
    {
        arr[idx] = values;
    }
    void shift(int d)
    {
        for (int i = 0; i < d; i++)
        {
            int last = arr[arrSize - 1];
            for (int i = arrSize - 2; i >= 0; i--)
            {
                arr[i + 1] = arr[i];
            }
            arr[0] = last;
        }
    }
    void reverse(int first, int last)
    {
        int num = 0;
        int temp;
        for (int i = 0; i < (last - first + 1) / 2; i++)
        {
            temp = arr[first + num];
            arr[first + num] = arr[last - num];
            arr[last - num] = temp;
            num = num + 1;
        }
    }
    void print()
    {
        for (int i = 0; i < arrSize; i++)
        {
            cout << arr[i] << " ";
        }
        cout << endl;
    }
};
728x90
hyeon.s
hyeon.s
이유있는 코드를 짜자

티스토리툴바