본문 바로가기

Programming Skill/Data Structure & Algorithm

[알고리즘] 삽입정렬(Insertion Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 삽입정렬이란?- 정렬 대상을 두 부분으로 나눠서 정렬 안 된 부분에 있는 데이터를 정렬 된 부분의 특정 위치에 삽입해 가면서 정렬하는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 삽입정렬을 이용하여 오름차순으로 정렬하시오. insert_sort.c#include void InsertSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); InsertSort(arr , cnt); for(i=0 ; i data)arr[j+1] = arr[j];elsebreak;} arr[j+1].. 더보기
[알고리즘] 선택정렬(Selection Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 선택정렬이란?- 정렬순서에 맞게 하나씩 선택해서 옮기며, 옮기면서 정렬되는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 선택정렬을 이용하여 오름차순으로 정렬하시오. select_sort.c#include void SelectSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); SelectSort(arr , cnt); for(i=0 ; i 더보기
[알고리즘] 버블정렬(Bubble Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 버블정렬이란?- 인접한 두 개의 데이터를 비교해가면서 정렬하는 알고리즘그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 버블정렬을 이용하여 오름차순으로 정렬하시오. bubble_sort.c#include void BubbleSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); BubbleSort(arr , cnt); for(i=0 ; i 더보기
[알고리즘] 간접정렬(Indirect Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 간접정렬이란?- 인덱스 기법이라고도 하며 레코드 배열에서 데이터를 정렬하는 것이 아니라 인덱스 배열을 따로 만들어 정렬하는 기법- 교환횟수가 많은 삽입정렬의 단점을 보완했으며, 간단한 정수를 정렬할 때 주로 사용 문제배열에 10,2,9,1,4,8,6,7,5,3 값 10개를 넣은뒤 간접정렬을 사용하여 출력하시오. indirect_sort.c#include int main(){int i, j, cnt;char buf[10] = { 10, 2, 9, 1, 4, 8, 6, 7, 5, 3 };char index[10]; for (i = 0; i 더보기
[자료구조] 이중연결리스트를 이용한 전화번호 관리 프로그램 작업 환경- OS : Ubuntu 14.04.5 LTS 문제전화번호부를 이중연결리스트로 완성하시오. (단 등록은 두가지 방법으로 만드시오.)1) 등록(FIFO , LIFO)2) 출력3) 검색4) 수정5) 삭제 my.h#include #include #include #include "list.h" list.h#ifndef __LIST_H__#define __LIST_H__ #define MAX_NAME30#define MAX_NUMBER20 typedef struct Data{char name[MAX_NAME];char pnumber[MAX_NUMBER];}Data; typedef struct Node{Data *data;struct Node *next;struct Node *prev;}Node; type.. 더보기