C 자료구조/2. 연결 리스트
-
Linked List의 활용 - 파일 입출력 활용C 자료구조/2. 연결 리스트 2021. 3. 24. 21:42
작업 환경은 Visual Studio 2008 우선 아래는 우리가 읽어올 파일의 내용이다. 각 줄은 배우에 대한 정보들이다. 배우에 대한 정보들이 여러 개이므로 우리는 구조체가 필요함을 알 수 있다. 위의 파일은 당연히 프로젝트 폴더 내에 존재해야 한다. 아래의 그림은 이 프로젝트 폴더 내부이다. 아래는 배우에 대한 구조체 정보와 이 정보들을 저장할 때 필요한 변수들이다. 위의 Actor 구조체에서 유심히 봐야할 변수는 MovieFilmCount와 MovieFilmTitle이다. 배우마다 출연작품의 수는 다르다. 위의 파일 내용을 보면 알 수 있다. 그렇기 때문에, 결론적으로 배우의 출연작품의 제목(문자열)을 저장하는 변수인 MovieFilmTitle는 데이터 유형이 이중 포인터가 되어야 한다. 예를 들..
-
Linked List의 활용 - 다항식의 표현 및 기본 연산C 자료구조/2. 연결 리스트 2021. 3. 24. 17:53
다항식의 항이 지수와 계수로 표현된다고 하자. 다항식은 기본적으로 지수가 높은 항이 먼저 나온다. 즉, 지수에 대한 내림차순이 필요하다. 항을 다항식에 저장할 때, 적당한 위치를 찾아 삽입을 하면 된다. 이 역할을 할 함수의 이름은 SortInsertNode이다. 즉, 연결리스트에 지수값을 큰 값 순으로 저장을 하면 된다. 이는 앞의 내용을 이용하면 쉽게 구현할 수 있다. 아래 글의 SortInsertNum 함수를 적당히 변형해서 만들 수 있다. 차이는 정렬함수의 부등호의 방향만 바꿔주면 된다. designatedroom87.tistory.com/387 Linked List - 여러 가지 연산 아래의 포스트에는 기본적인 연산만을 작업했다. 여기서는 데이터의 중복 삭제, 데이터의 중간 삽입 등에 대한 연산..
-
Linked List - 리스트를 역순으로 바꾸기C 자료구조/2. 연결 리스트 2021. 3. 24. 16:38
아래의 연결 리스트 파일들을 그대로 가지고 와서 구현을 한다. designatedroom87.tistory.com/42?category=868808 Linked List - 기본 연산 2. 구현 프로그래밍은 -1이 입력될 때까지 입력된 데이터를 연결 리스트에 추가한다. 프로그램 실행결과 3. 헤더 파일 & 소스 파일 designatedroom87.tistory.com 1. 개념 세 개의 포인터 p, q, r 포인터를 사용하여 연결 리스트를 순회하면서, 링크의 방향을 역순으로 바꾸면 된다. 주의 사항은 링크의 방향을 역순으로 바꾸기 전에 미리 뒤의 노드를 알아놓아야 한다. p는 아직 처리 되지 않은 노드..
-
Linked List - 여러 가지 연산C 자료구조/2. 연결 리스트 2021. 3. 24. 11:06
아래의 포스트에는 기본적인 연산만을 작업했다. 여기서는 데이터의 중복 삭제, 데이터의 중간 삽입 등에 대한 연산에 대해 구현할 것이다. 여기서 할 작업은 아래의 내용과는 이어지지 않는다. designatedroom87.tistory.com/42?category=868808 Linked List - 기본 연산 2. 구현 프로그래밍은 -1이 입력될 때까지 입력된 데이터를 연결 리스트에 추가한다. 프로그램 실행결과 3. 헤더 파일 & 소스 파일 designatedroom87.tistory.com 아래는 노드 구초체와 head 와 노드의 개수를 전역 변수로 두었다. 전역 변수로 둔 이유는 약간 문제를 쉽게 풀..