반응형

언어 자료구조 알고리즘/C언어 예제 104

시저 암호(Caesar cipher, 카이사르 암호) , C언어 소스

시저 암호(Caesar cipher, 카이사르 암호) , C언어 소스 Bovmywo! Mobo sc ormvel.xod위 문장의 뜻이 무엇일까요?어느 나라 말인지 모르겠다고요. 위 문장은 일상에서 사용하는 문장이 아니라 암호화한 문장입니다. 네트워크 통신에서 스니핑 기술이 그리 어려운 것이 아니라서 암호화는 선택이 아닌 필수적인 요소라고 말해도 과언이 아닙니다. 이번에는 암호화에 관한 기초 상식을 살펴보려고 합니다.암호화에서 제일 많이 사용하는 용어는 평문과 암호문입니다. 평문은 암호화하지 않은 상태의 문장을 의미하고 암호문은 암호화한 문장을 의미합니다. 치환 암호일정한 규칙에 따라 평문의 문자를 다른 문자로 치환하여 암호문을 만드는 암호화 방식입니다. 시저 암호(Caesar cipher, 카이사르 암호..

큐 - 연결리스트 이용, C언어 소스

큐 - 연결리스트 이용, C언어 소스 //큐 - 연결리스트 이용#include #include #include typedef struct Node //노드 정의{ int data; struct Node *next;}Node; #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의{ Node *front; //맨 앞(꺼낼 위치) Node *rear; //맨 뒤(보관할 위치) int count;//보관 개수}Queue; void InitQueue(Queue *queue);//큐 초기화int IsEmpty(Queue *queue); //큐가 비었는지 확인void Enqueue(..

원형 큐 - 버퍼 공간 자동으로 할당, 동적 데이터 보관, C언어 소스

원형 큐 - 버퍼 공간 자동으로 할당, 동적 데이터 보관, C언어 소스 //원형 큐 - 버퍼 공간 자동으로 할당, 동적 데이터 보관 #include #include #include #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef void * Element; //void * 형식을 Element 형식 명으로 정의 typedef struct Queue //Queue 구조체 정의 { Element *buf;//저장소 int qsize; int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; Queue *NewQueu..

원형 큐 - 버퍼 자동으로 확장, 정수 보관, C언어 소스

원형 큐 - 버퍼 자동으로 확장, 정수 보관, C언어 소스 //원형 큐 - 버퍼 자동으로 확장, 정수 보관 #include #include #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의 { int *buf;//저장소 int qsize; int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; Queue *NewQueue();//생성자 void DeleteQueue(Queue *queue);//소멸자 int IsEmpty(Queue *queue); //큐가 비었는..

원형 큐 - 동적 생성, 정수 보관, C언어 소스

원형 큐 - 동적 생성, 정수 보관, C언어 소스 //원형 큐 - 동적 생성, 정수 보관 #include #include #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의 { int *buf;//저장소 int qsize; int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; Queue *NewQueue(int qsize);//생성자 void DeleteQueue(Queue *queue);//소멸자 int IsFull(Queue *queue); //큐가 꽉 찼는지..

원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관, C 언어 소스

원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관, C 언어 소스 //원형 큐 - 버퍼 공간을 동적으로 생성, 정수 보관 #include #include #define NEXT(index,QSIZE) ((index+1)%QSIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의 { int *buf;//저장소 int qsize; int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; void InitQueue(Queue *queue, int qsize);//큐 초기화 int IsFull(Queue *queue); //큐가 꽉 찼는지 확인..

원형 큐 - 모든 공간 사용, 정수 보관, C언어 소스

원형 큐 - 모든 공간 사용, 정수 보관, C언어 소스 //원형 큐 - 모든 공간 사용, 정수 보관 #include #define QUEUE_SIZE 10 #define NEXT(index) ((index+1)%QUEUE_SIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의 { int buf[QUEUE_SIZE];//저장소 int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스 int count;//보관 개수 }Queue; void InitQueue(Queue *queue);//큐 초기화 int IsFull(Queue *queue); //큐가 꽉 찼는지 확인 int IsEmpty..

원형 큐 - 버퍼 크기 고정, 정수 보관, C언어 소스

원형 큐 - 버퍼 크기 고정, 정수 보관, C언어 소스 //원형 큐 - 버퍼 크기 고정, 정수 보관#include #define QUEUE_SIZE 10#define NEXT(index) ((index+1)%QUEUE_SIZE) //원형 큐에서 인덱스를 변경하는 매크로 함수 typedef struct Queue //Queue 구조체 정의{ int buf[QUEUE_SIZE];//저장소 int front; //꺼낼 인덱스(가장 오래전에 보관한 데이터가 있는 인덱스) int rear;//보관할 인덱스}Queue; void InitQueue(Queue *queue);//큐 초기화int IsFull(Queue *queue); //큐가 꽉 찼는지 확인int IsEmpty(Queue *queue); //큐가 비었는..

스택 - 연결리스트로 구현, C언어 소스

스택 - 연결리스트로 구현, C언어 소스 //스택 - 연결리스트로 구현 #include #include typedef struct Node //노드 정의 { int data; struct Node *next; }Node; typedef struct Stack //Stack 구조체 정의 { Node *top; //맨 앞 노드(가장 최근에 생성한 노드) }Stack; void InitStack(Stack *stack);//스택 초기화 int IsEmpty(Stack *stack); //스택이 비었는지 확인 void Push(Stack *stack, int data); //스택에 보관 int Pop(Stack *stack); //스택에서 꺼냄 int main(void) { int i; Stack stack; ..

스택 - 버퍼 크기 자동 확장, 동적 생성한 자료 보관, C언어 소스

스택 - 버퍼 크기 자동 확장, 동적 생성한 자료 보관, C언어 소스 //스택 - 버퍼 크기 자동 확장, 동적 생성한 자료 보관 #include #include #include typedef void * Element; //void * 형식을 Element 형식 명으로 정의 typedef struct Stack //Stack 구조체 정의 { Element *buf;//저장소 int ssize;//저장소 크기 int top; //가장 최근에 보관한 인덱스 }Stack; Stack *NewStack();//스택 생성자 void DeleteStack(Stack *stack);//스택 소멸자 int IsFull(Stack *stack); //스택이 꽉 찼는지 확인 int IsEmpty(Stack *stack);..

반응형