자료구조(3)
-
문자열관련 함수
문자열● C언어는 내부에 문자열 자료형이 없다. (string형)● 문자들의 모임으로 C에서는 문자형 1차원 배열을 사용한다.● 문자열의 끝에 널 종료문자를 사용한다. (배열의 크기는 가장 긴 문자열의 크기보다 1바이트 더 커야 한다.) 문자열 관련 함수 (string.h 헤더파일을 필요로 함)● strlen(str) : 널 종료 문자를 제외한 문자열의 길이를 반환한다.● strcpy(to, from) : from의 내용을 to배열로 복사한다.● strcat(to, from) : from의 내용을 to문자열 뒤에 추가한다.● strcmp(s1, s2) : 두 문자열을 비교하여 같으면 0을 반환한다. - s1이 s2보다 작으면 0보다 작은 값을 반환. - s1이 s2보다 크면 ..
2024.07.24 -
스택
스택은 선형 list에서 자료의 삽입, 제거를 한쪽 끝에서만 이루어지도록 제한한 자료구조이다.가장 나중에 입력된 자료가 가장 먼저 출력되는 방식이다. 스택을 코드로 구현해보겠다. 먼저 스택의 max 크기와 data_type을 정해준 뒤 어디까지 쌓았는지를 나타내주는 변수 Top을 -1로 설정해준다. (아직 아무것도 넣지 않았기 때문) 그 다음 스택이 비어있는지, 모두 차있는지를 확인하는 Empty함수와 Full함수를 구현한다. 스택에 값을넣는 Push함수와 스택에서 값을 빼는 Pop함수를 구현한다.Push때 스택이 모두 차있으면 overflow를 출력하고 아니면 값을 넣는다.Pop때 스택이 모두 비어있으면 underflow를 출력하고 아니면 값을 꺼낸다. 위에 코드에서는 차례대로 스택에 1,2,3을 ..
2024.07.17 -
큐와 환형 큐(배열)
큐 - 선형 list에서 자료의 삽입과 제거를 각각 다른 쪽 끝에서 이루어지도록 제한한 자료구조가장 먼저 입력된 자료가 가장 먼저 출력되는 방식이다. (FIFO) ● 스택과는 다르게 큐는 2개의 포인터를 가지고 있다. (Front,Rear)● 가장 먼저 입력된 자료의 위치는 Front의 다음위치에 있다.● 가장 나중에 입력된 자료의 위치는 Rear의 위치에 있다. Queue를 배열을 이용하여 간단하게 구현한 결과 작업이나 데이터를 순차적으로 처리해야 할 때 큐를 사용하면 스택보다 효율적인 방법이다라는 생각이 들었다. 하지만 Front와 Rear의 값이 모두 증가만 하기 때문에 공간이 낭비된다. 이 코드의 실행 결과는 2,3,4,underflows가 나타난다. 4를 입력하기전에 1의 공간이 비었음에도 불..
2024.07.08