반응형

C언어 소스 코드 53

이중 연결리스트 - 동적 생성한 데이터 보관, C언어 소스

이중 연결리스트 - 동적 생성한 데이터 보관, C언어 소스 //이중 연결리스트 - 동적 생성한 데이터 보관 //연결리스트 정의, 노드 정의, 초기화, 추가, 삭제, 검색, 전체 출력, 해제 #include #include #include typedef void * Element; typedef struct Node//노드 정의 { Element data;//데이터 struct Node *next;//링크(다음 노드의 위치 정보) struct Node *prev;//링크(이전 노드의 위치 정보) }Node; Node *NewNode(Element data)//노드 생성 { Node *now = (Node *)malloc(sizeof(Node)); now->data = data; now->prev = now..

이중 연결리스트 - 더미 노드 사용, C언어 소스

이중 연결리스트 - 더미 노드 사용, C언어 소스 //이중 연결리스트 - 더미 노드 사용, 순차 보관(가장 최근에 보관한 데이터가 맨 뒤)//연결리스트 정의, 노드 정의, 초기화, 추가, 삭제, 검색, 전체 출력, 해제#include #include typedef struct Node//노드 정의{ int data;//데이터 struct Node *next;//링크(다음 노드의 위치 정보) struct Node *prev;//링크(이전 노드의 위치 정보)}Node; Node *NewNode(int data){ Node *now = (Node *)malloc(sizeof(Node)); now->data = data; now->prev = now->next = NULL; return now;} typedef..

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

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

원형 연결리스트 - 단일 연결리스트, 순차 보관, 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칸 밀..

큐 - 연결리스트 이용, 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); //큐가 꽉 찼는지..

반응형