본문 바로가기

반응형

프로그래밍

★ 9. c# 네트워크 개발 p8 ==================================================================모든 출처는 - 유니티 개발자를 위한 C#으로 온라인 게임 서버 만들기 - 저자 이석현, 출판사 한빛미디어그리고 URL : http://lab.gamecodi.com/board/zboard.php?id=GAMECODILAB_Lecture_series&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=hit&desc=asc&no=69================================================================== C#으로 게임 서버 만들기 - (강좌 7에 이어서)턴 종료 처리 턴 종료 처리 1234567.. 더보기
★ 3. 3D 프로그래밍의 기초 개념 [변환] 변환(transform) 가장 기본적인 변환에는 이동(transition) 회전(rotation) 크기(scale) 전단(shear) 변환이 있으며, 이들 변환은 모두 행렬로 표현됩니다. 이동, 회전, 전단만으로 이루어진 행렬을 아핀 변환이라고 하는데 이 변환은 계(system)를 유지하는 특성이 있어서 여러모로 유용합니다. 더보기
★ 3. 3D 프로그래밍의 기초 개념 [정점] 정점(vertex) 공간상에서의 위치(Position)를 나타내는 것으로 일반적으로 여러 개가 모여서 특정 형태의 오브젝트(폴리곤이 가장 간단한 형태)를 구성하는 요소를 정점이라고 합니다. 더보기
★ 13. 댕글링 포인터 댕글링 포인터 메모리상에서 해제된 대상을 가리키고 있는 포인터 주로 동적할당받은 메모리가 해제되었으나 포인터 변수가 그 해제된메모리 주소를 가지고 있을 때 발생하며메모리 해제 이후에 반드시 NULL 값을 주어 주소를 지워서 해결한다. 다음은 댕글링 포인터의 예이다. void DP(void){element *n = new element;int *m = n;delete(n);n = NULL;} 이 코드에서 n은 댕글링 포인터가 아니고 m이 댕글링 포인터입니다.~ 더보기
★ 10. 연결 리스트를 이용한 스택 구현하기 연결 리스트를 이용한 스택 구현 전과 마찬가지로 각 기능별 함수로 구현되었습니다. // # 연결 리스트를 이용한 스택 ##include #include using namespace std;typedef int element; struct stackNode { element data; // # 다음 노드를 가리키는 포인터 변수 # stackNode *link; }; stackNode* top; // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # top 포인터가 NULL이면 스택이 비어 있는 것 # return (top == NULL); } // # 스택의 TOP에 원소를 삽입 # void push(element item) { // # 새로운 노드 공간을 .. 더보기
★ 9. 배열을 이용한 스택 구현하기 배열을 이용한 스택 구현 // # 배열을 이용한 스택 ##include using namespace std; // # 배열 크기 # #define MAX_STACK_SIZE 5 typedef int element; // # 스택에 원소를 저장하기 위한 배열 # element stack[MAX_STACK_SIZE]; // # TOP의 위치 # int top = -1; // # 처음엔 맨 아래를 위치하기 때문에 '-1' # // # 스택 초기화 함수 # void initialize() { // # TOP 인덱스를 -1로 주어 스택을 비움 # top = -1; } // # 스택이 비어 있으면 true 아니면 false를 반환 # int isEmpty() { // # TOP 인덱스가 -1이면 true # ret.. 더보기
★ 8. 스택 스택 스택은 제일 먼저 삽입(push)된 데이터가 맨 아래에 쌓여 있고가장 최근에 삽입된 데이터가 맨 위에 쌓이는 구조를 가지고 있습니다. 데이터를 삭제(pop)할 때에는 가장 최근에 삽입한 데이터를 꺼내는구조이고 스택에서의 입출력은 맨 위에서만 일어나고중간에서는 데이터를 삽입 또는 삭제를 할 수 없는 구조입니다.~ ★ 스택은 가장 최근에 들어온 데이터가 가장 먼저 나가기 때문에[후입선출] : LIFO( Last - In, First - Out : 라이포 리포)라고도 합니다. 스택에서 원소의 삽입과 삭제가 일어나는 곳을 TOP라 하고 스택의다른 한쪽 끝, 즉 TOP의 반대쪽 끝을 BOTTOM이라고 합니다. 다음 포스팅에서 코드적인 부분으로올리겠습니다. 더보기
★ 7. 이중 연결 리스트 구현하기 - 이중 연결 리스트 - (이중 원형 연결리스트) 각 기능별로 함수로 구현이 된 이중 연결 리스트 예제 소스입니다."한번에 이해되는 C 자료구조" 책을 참조하였습니다. // # 이중 원형 연결 리스트에 원소 추가, 삽입하기 # #include #include using namespace std;typedef int element;struct tagListNode { tagListNode* leftLink; // # 왼쪽 노드를 가리키는 링크 필드 # element data; // # 노드를 구성하는 데이터 필드 # tagListNode* rightLink; // # 오른쪽 노드를 가리키는 링크 필드 # };// # 헤더의 정보를 저장할 구조체 선언 # struct tagListHead { tagListN.. 더보기
★ 6. 이중 연결 리스트 - 이중 연결 리스트 - 원형 연결 리스트는 단순 연결 리스트보다는 이점이 있다. 그러나!아직도 몇 가지 단점이 있는데, 단점으로는 리스트를 뒤로 순회할 수없다는 점과 삭제하고자 하는 노드에 대한 포인터만으로는 그 노드를삭제할 수 없다는 점 등이 있다. 이러한 문제를 해결하기 위하여 어떤 노드에 대한 다음 노드뿐만아니라 전 노드까지 알 수 있도록 하여, 한 가지 방향의 탐색이 아닌양쪽 방향의 탐색이 가능하게 구성한 것이 이중 연결 리스트이다. 하나의 노드를 가진 구조체입니다.~struct LISTNODE{LISTNODE* lLink; // # 왼쪽(선행) 노드를 가리키는 링크 필드 #int data; // # 노드를 구성하는 데이터 필드 #LISTNODE* rLink; // # 오른쪽(후속) 노드를 가리.. 더보기
★ 5. 원형 연결 리스트 구현하기 - 원형 연결 리스트 - 각 기능별로 함수로 구현이 된 원형 연결 리스트 예제 소스입니다."한번에 이해되는 C 자료구조" 책을 참조하였습니다. // # 원형 연결 리스트에 원소 추가, 삽입하기 # #include #include using namespace std; typedef int element; struct tagListNode { // # 노드를 구성하는 데이터 필드 # element data; // # 다음 노드를 가리키는 링크 필드 # tagListNode* link; }; // # 헤더의 정보를 저장할 구조체 선언 # struct tagListHead{ tagListNode* head; }; // # 연결 리스트를 초기화하는 함수 # tagListHead* createLinkedListHe.. 더보기

반응형