Category

    스택 - 배열구조 Array_Stack)

    스택 - 배열구조 Array_Stack)

    스택은 선형 자료구조로써 FILO(First Input Last Output) 으로 처음 입력된 값이 가장 마지막에 출력되는 자료 구조이다. 1개의 데이터가 다른 데이터와 서로 하나씩 연결된 1:1 구조로써 선형 구조이다. 스택에 데이터를 입력하는 것을 Push 데이터를 꺼내는 것을 Pop이라고 한다. Top은 현재 가장 높은 위치의 데이터의 인덱스라고 생각하면 된다. Top값을 스택에서 데이터를 Push, 또는 Pop할때 마다 변화시키므로, 현재 데이터가 들어갈 수 있는지 존재하는지 등의 여부를 확인가능하다. 아래 소스는 배열로 된 스택이다. #include #include void Push(int data); int Pop(void); int Full(void); int Empty(void); voi..

    파일의 종류

    1. 일반파일 - 일반 사용자가 작성한 문서 등의 가장 기본적인 정보 단위 2. 디렉토리 파일 - 디렉토리에 포함된 다양한 파일 들에 대한 위치, 크기 등의 정보 가진 파일 3. 특수 파일 - 주변 장치로부터 데이터 입/출력 위한 장치 파일 -문자 특수 파일 : 버퍼가 없는 장치로부터 한번에 한 문자씩 입출력을 하기 위해 쓰이는 파일 -블록 특수 파일 : 일정한 크기의 묶음으로 자료를 입출력하는 장치에서 사용되며, 버퍼기술을 사용해 자료 전송 효율을 높인다. 4. 소켓 -네트워크 입/출력을 담당ㅇ하는 파일 5. 네임드 파이프 - 프로세서 간 통신 수행 위한 파일로 데이터 중간에서 통제하는 역할을 수행한다. 6. 소프트링크 - 윈도우의 바로가기와 비슷한 기능으로 파일 내용을 가지는게 아니라 파일을 가리키도..

    파일 시스템 (File system)

    파일시스템이란? - 운영체제에서 파일 저장시 사용되는 파티션이나 디스크를 가리킬 때 사용한다. 파일 저장을 위한 수단, 방법이라고 할 수 있으며 파일을 보관/ 검색 등의 수단이다. 부트블록운영체제를 부팅시키기 위해 필요한 코드 저장된 블록이다.파일시스템은 대부분 부트 블록에서 시작하게 되고, 하드웨어가 부팅에 필요한 코드를 가지고 있다. i-node 리눅스는 파일을 생성할 때 두가지를 수행하는데, 먼저 파일의 데이터를 저장할 공간을 확보하고, 다음 파일에 대한터터 기본 정보들을 저장하기 위한 i-node라는 구조를 만들어 파일을 사용시 필요한 정보들을 저장한다. 리눅스는 이런 i-node를 table에 저장하여 놓는다. 어떤 디렉토리내에 파일을 보는 것은 어떤 파일이 어떠한 디렉토리안에 있다라고 말하지만..

    정렬 - 삽입 정렬

    삽입 정렬은 전체 자료에서 정렬 시 삽입할 위치를 찾아 자료를 이동시키는 알고리즘 이다. Insertion_Sort.h #ifdef _INSERTION_SORT_ #endif _INSERTION_SORT_ void Insertion_Sort(int data[], int size); void Prt_Data(int data[], int size); Insertion_Sort.c #include #include"Insertion_Sort.h" void Insertion_Sort(int data[], int size) { int i=0,j=0,temp=0; for(i=1;i0&&data[j-1]>temp) { data[j]=data[j-1]; j--; } data[j]=temp; } } void Prt_Dat..

    정렬 - 퀵 정렬(Quick Sort)

    퀵 정렬은 많이 사용되는 정렬 중 하나이다. 퀵 정렬은 임의의 Pivot 값을 선정하고 Pivot값보다 큰 값과 작은 값을 나눠 정렬하는 방식이다. 오름차순을 이용하여 설명하면, 먼저, 외쪽에서 오른쪽으로 피봇값보다 큰 값을 찾을 때까지 우측으로 이동하고, 다음, 오른쪽에서 왼쪽으로 피봇보다 작은 값을 찾을때까지 좌측으로 이동하여, 처음 발견되는 값들을 서로 Swap한다. 그런 과정을 지속적으로 반복하여 정렬하여 준다. 내림차순은 조건을 반대로 해줌으로써 할 수 있다. 퀵 정렬은 재귀호출을 사용하여 이용함으로써 간편하게 해답을 찾을 수 있다. Quick_Sort. #ifdef _QUICK_SORT_ #endif _QUICK_SORT_ //오름차순 void Asc_Quick_Sort(int data[], ..

    정렬 - 버블 정렬 (Bubble_Sort)

    버블 정렬은 정렬되지 않은 데이터에 대하여 인접한 두개의 데이터를 지속적으로 비교해 나가며 정렬하는 방식이다. 첫번째 인덱스부터 시작하여 오름,또는 내림으로 정렬할 시 인접한 두번째 인덱스의 자료와 비교하여 교환하고 비교해 나가면서 정렬한다. 오름차순과 내림차순의 차이는 조건의 차이 하나밖에 없으므로 동일하다고 보면 된다. 아래 소스는 버블 정렬에 대한 헤더파일과 소스파일이다. Bubble_Sort.h#ifdef _BUBBLE_SORT_ #endif _BUBBLE_SORT_ void Asc_Bubble_Sort(int data[], int size); //오름차순 void Des_Bubble_Sort(int data[], int size); //내림차순 void Prt_Bubble_Sort(int dat..