반응형

전체 글 2934

원형 연결리스트 - 단일 연결리스트, 순차 보관, C언어 소스

원형 연결리스트 - 단일 연결리스트, 순차 보관, C언어 소스 //원형 연결리스트 - 단일 연결리스트, 순차 보관//노드 정의, 초기화, 추가, 삭제, 검색, 전체 출력, 해제#include #include typedef struct Node//노드 정의{ int data;//데이터 struct Node *next;//링크(다음 노드의 위치 정보)}Node; void InitList(Node **phead, Node **ptail);//초기화void AddData(Node **phead, Node **tail, int data);//데이터 추가void Remove(Node **phead, Node **ptail, Node *now);//노드 삭제Node *Find(Node *seek, int data);..

단일 연결리스트 - 역순 보관(가장 최근에 보관한 데이터가 맨 앞), C언어 소스

단일 연결리스트 - 역순 보관(가장 최근에 보관한 데이터가 맨 앞), C언어 소스 //단일 연결리스트 - 역순 보관(가장 최근에 보관한 데이터가 맨 앞)//노드 정의, 초기화, 추가, 삭제, 검색, 전체 출력, 해제#include #include typedef struct Node//노드 정의{ int data;//데이터 struct Node *next;//링크(다음 노드의 위치 정보)}Node; void InitList(Node **phead);//초기화void AddData(Node **phead, int data);//데이터 추가void Remove(Node **phead, Node *now);//노드 삭제Node *Find(Node *seek, int data);//노드 검색void ViewAll..

비제네르 암호(Vigenere Chipher), C언어 소스

비제네르 암호(Vigenere Chipher), C언어 소스 비제네르 암호는 시저 암호를 확장한 개념의 암호화 방식입니다. 시저 암호는 평문의 모든 문자를 같은 간격의 밀기 방식으로 치환하여 사용합니다. 반면 비제네르 암호는 평문의 문자들은 위치에 따라 다른 간격의 밀기 방식으로 치환하여 사용합니다. 그리고 이 때 어떠한 간격으로 밀기를 할 것인지를 약속한 키를 이용합니다. 예를 들어 약속한 키가 "abc"라고 하면 1, 4, 7, ... 번째 문자들은 ('a'-'a')칸 밀기합니다. 0칸 밀기이므로 아무런 변화가 없겠죠. 2, 5, 8, ... 번째 문자들은 ('b'-'a')칸 밀기합니다. 1칸 밀기하는 것입니다. 그리고 3, 6, 9, ... 번째 문자들은 ('c' - 'a')칸 밀기합니다. 2칸 밀..

시저 암호(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..

반응형