본문 바로가기

DSA38

미로탐색 레벨 순회(Level Order) 제출본#include #include #define MAX_QUEUE_SIZE 100void print_maze(int rows, int cols,int maze[rows][cols],int currRow, int currCol);void move(int rows,int cols,int maze[rows][cols], int *currRow, int *currCol, int newRow, int newCol);typedef struct { int x; int y;} Position;typedef struct TreeNode { Position data; struct TreeNode *left, *right, *up, *down;} TreeNode;typedef TreeNode* el.. 2024. 11. 17.
이중 연결리스트(DoublyLinkedList) 이중 연결리스트(DoublyLinkedList) 2024. 10. 29.
원형 연결리스트(CircularLinkedList) 원형 연결리스트(CircularLinkedList) 2024. 10. 29.
연결리스트 (LinkedList) 활용 2 구조체 타입 element요소로 data 입력저장하는 연결리스트구조체 element타입 정의:typedef struct { char name[20]; int age; double height;}element;typedef struct { element data; struct ListNode* link;}ListNode;출력:void print_list(ListNode* head) { for(ListNode* p=head;p!=NULL;p=p->link) { printf("Name is %s.\n Age is %d.\n Height is %.2lf.\n",p->data.name,p->data.age,p->data.height); printf("---.. 2024. 10. 29.
리스트 2(Linked List) 노드 정의://노드의 정의typedef int element;typedef struct ListNode { element data; struct ListNode *link;}ListNode;삽입 연산://삽입 연산ListNode* insert_first(ListNode *head,element value) { ListNode *p=(ListNode*)malloc(sizeof(ListNode));; p->data=value; p->link=head; head=p; return head;}ListNode* insert(ListNode *head,ListNode *pre,element value) { ListNode *p=(ListNode*)malloc(sizeof(.. 2024. 10. 28.
회문(Palindrome) 검사 (덱) 수정중.. 제대로 작동안한다.회문이 아닌경우에도 회문으로 뜨거나 회문인 경우도 전부 회문이 아니라고 뜬다.#include #include #include #define MAX_SIZE 100typedef char element;typedef struct { int front; int rear; element data[MAX_SIZE];}DequeType;void error(char* message) { fprintf(stderr, "%s\n", message); exit(1);}void init_deque(DequeType* q) { q->front = 0; q->rear = 0;}int is_empty_deque(DequeType* q) { return q->.. 2024. 10. 27.