자료구조

    [자료구조] 단순한 정렬 : 버블 정렬, 선택 정렬, 삽입 정렬

    버블 정렬(Bubble Sort) : 인접한 두 개의 데이터를 비교하여, 정렬순서 상 위치가 바뀌어야 하는 경우에 두 데이터의 위치를 바꿔나가는 방식이다. 오름차순으로 데이터를 정렬한다고 가정했을때, 큰 값을 뒤로 보내는 방식으로 구현된다. #include void BubbleSort(int arr[], int n) { int i, j; int temp; for(i=0; i

    [자료구조] 배열을 기반으로 구현한 List에서 "삭제" 구현

    [자료구조] 배열을 기반으로 구현한 List에서 "삭제" 구현

    배열을 기반으로 구현한 List에서 "삭제"를 담당하는 LRemove 함수를 정의할 때 인덱스와 데이터의 개수 때문에 자주 헷갈리는 부분을 정리하려고 한다. 위와 같이, C라는 데이터를 삭제하는 함수를 구현한다고 해보자. 이때 C라는 데이터가 삭제되고 나면, 뒤에 저장된 나머지 데이터들은 한칸씩 앞으로 이동시켜서 그 빈공간을 메꿔야 할 것이다. LData LRemove(List * plist) { int rpos = plist->curPosition; int num = plist->numOfData; int i; LData rdata = plist->arr[rpos]; for(i=rpos; iarr[i] = plist->arr[i+1]; (plist->numOfData)--; (plist->curPosi..