목록도서관 책 종류 (212)
컴퓨터공학 💻 도서관📚
연결리스트로 구현한 큐 자료구조 #include #include // 노드 구조체 정의typedef struct Node { int data; struct Node* next;} Node;// 큐 구조체 정의typedef struct Queue { Node* front; Node* rear;} Queue;// 큐 초기화void init(Queue* q) { q->front = NULL; q->rear = NULL;}// 큐가 비었는지 확인int isEmpty(Queue* q) { return q->front == NULL;}// 데이터 삽입 (enqueue)void enqueue(Queue* q, int value) { Node* newNode = (Node*)..
연결리스트로 구현한 c언어 #include #include // 노드 구조체 정의typedef struct Node { int data; struct Node* next;} Node;// 스택 구조체 정의typedef struct Stack { Node* top;} Stack;// 스택 초기화void init(Stack* s) { s->top = NULL;}// 스택이 비었는지 확인int isEmpty(Stack* s) { return s->top == NULL;}// push: 스택에 데이터 삽입void push(Stack* s, int value) { Node* newNode = (Node*)malloc(sizeof(Node)); if (!newNode) { ..

아래 코드에서는 구조체 멤버변수 size 변수가 있어서 while문이 아닌 for문으로 코드를 짤 수 있 #include #include #define MAX_SIZE 100// 집합 구조체typedef struct { int elements[MAX_SIZE]; int size;} Set;// 집합에 원소 추가 (중복 방지)void addElement(Set *set, int elem) { for (int i = 0; i size; i++) { if (set->elements[i] == elem) return; // 이미 존재하면 추가하지 않음 } if (set->size elements[set->size++] = elem; }}// 합..
#include #include // 노드 정의typedef struct Node { int data; struct Node* next;} Node;// 원형 연결 리스트 구조체typedef struct { Node* head;} CircularLinkedList;// 리스트 초기화void initList(CircularLinkedList* list) { list->head = NULL;}// 노드 생성Node* createNode(int data) { Node* newNode = (Node*)malloc(sizeof(Node)); newNode->data = data; newNode->next = NULL; return newNode;}// 끝에 삽입void ..

이중연결리스트를 이중 포인터로 선언할 수 도 있지만이중연결리스트 구조체를 따로 선언해서 구현하는 것이 가독성과 유지보수에 더 좋다. * 새로운 노드를 생성하는 함수가 있음삽입함수 / 삭제함수가 n번째 위치에(를) 삽입 / 삭제하는 형식 이중연결리스트는 앞뒤노드와 다 연결해야 되기 때문에뒤노드가 NULL인 경우도 인지하고 있어야 한다 if(temp->next) == if( temp->next 이 참일때, 0이 아닐때 ) 그래서 뒤노드가 NULL이 아니면 뒤노드->prev = newNode 이걸 연결해 주는 거다 (앞노드->next) 이중연결리스트의 append 함수는 1번째 위치에서는 연결을..

* 단일 연결 리스트의 구조typedef struct Node { // (정체성 : struct Node) int data; // 데이터 저장 (정체성 : int) struct Node* next; // 다음 노드를 가리키는 포인터 (정체성 : struct Node *)} Node; * 단일 연결 리스트의 기본 연산1.노드 추가(Append) : 리스트의 끝에 새로운 노드를 추가하는 기능 2. 노드 삭제(Delete) : 특정 값을 가진 노드를 삭제하는 기능 3. 노드 탐색(Search) : 특정 값을 가진 노드를 찾는 기능 4. 노드 출력(Display) : 리스트의 모든 노드를 순차적으로 출력하는 기능 * 단일 연결 리스트..
자신의 삶을 행복하게 만들어갈 줄 아는 사람힘든 일을 만났을 때 그것을 대처하는 자신만의 노하우가 있는 사람 : 바나나우유누구에게나 오늘은 처음이니까자신만의 세계관을 잘 구축해놓은 사람 이기기 위한 노력 + 마인드 컨트롤(자신감) + 실전 (이세돌의 마인드와 실력)안 좋은 상황으로 가지 않을 것이다, 좋은 상황으로 만들 수 있다 --> 이러한 마인드 컨트롤 이기기 위해서는 자신감이 필요한데 자신감이 있으려면 이기기 위한 노력이 필요하다그리고 그 노력이 이기게 만든다