전체 글 56

C#의 시작, class와 DataTypes

C언어는 컴퓨터와 친한 언어로 운영체제, 임베디드 시스템 개발에 주로 사용되고 C#은 객체 지향의 특성과 동적인 웹사이트와 데스크톱 애플리케이션 개발에 주로 사용됩니다.  (Object Oriented Programming)(OOP) 객체 지향은 명령형 프로그래밍으로 프로그램을 수많은 객체(Object)라는 기본 단위로 나누고 이들의 상호작용을 서술하는 방식입니다. 객체란 메소드, 변수를 가지고 특정 역할을 수행하도록 인간이 정의한, 추상적인 개념입니다. C#언어는 객체 지향으로 class, public 같은 용어를 다루게됩니다.class Program{ static void Main() { Console.WriteLine("Hello, World!"); //C언어 printf("..

퀵 정렬(Quick Sort)

퀵 정렬(Quick Sort)은 효율적이고 널리 사용되는 정렬 알고리즘입니다. 주요 특징들입니다.분할 정복 방식: 배열을 정렬하기 위해 배열을 작은 부분 배열로 분할하고 각 부분 배열을 재귀적으로 정렬합니다.피벗 선택: 배열에서 하나의 요소를 피벗(pivot)으로 선택분할: 피벗을 기준으로 작은 값들을 왼쪽, 큰 값들은 오른쪽으로 분할재귀적 정렬: 분할된 두 부분 배열에 대해 재귀적으로 퀵 정렬을 수행합니다. pivot은 기존 배열에서 자주 사용한 head와 전혀 다른 형태입니다. 배열에서 head와 tail은 배열의 양 끝 고정이지만 pivot은 정렬 과정 중 해당 요소를 주기적으로 바꿔가며 오름차순을 만들어냅니다. 가장 자주 사용하는 정렬로 이름대로 빠르다는 장점이 있습니다.#include #incl..

버블 정렬(Bubble Sort)

버블 정렬은 리스트를 반복적으로 순회하며 인접한 두 요소를 비교하고, 잘못된 순서라면 교환합니다. 모든 요소를 여러 번 비교해야 하기 때문에 일반적으론 비효율적입니다. 여기서 두 요소를 비교, 교환은 앞써 쓴 글인 삽입 정렬 (Insertion Sort)과 비슷하지만 비교 방식과 에서 다른 형태를 가지고 있습니다. 그림으로 설명하겠습니다.삽입 정렬: 순차적으로 리스트를 확인하며 두 요소를 비교, 정렬하는 방식버블 정렬: 리스트를 반복 순회하며 두 요소를 비교, 정렬하는 방식즉, 버블 정렬은 리스트를 계속 순회하기 때문에 삽입 정렬보다 비효율적인 정렬 방식입니다.#include #include #include #define MAX_LEN 10// Init: Initializationvoid InitRand..