C++ STL sort 와 stable_sort 함수 설명 및 예제 코드. 안녕하세요. 이번 글에서는 C++의 표준 라이브러리에서 가장 많이 사용되는 함수 중 하나인 "sort"에 대한 내용을 간단한 설명과 예시 코드를 이용해 작성해보려고 합니다. C++ 알고리즘: sort - 배열. C++ 알고리즘: sort - 벡터. C++ 알고리즘: stable_sort C++ 알고리즘: sort - 배열. c++에서 "sort" 함수는 표준 라이브러리의 정렬 알고리즘 중 하나로, 퀵 소트를 기반으로 하고 있습니다. [프로그래밍/알고리즘] - 정렬 알고리즘 - 퀵 정렬 [Quick Sort] 정렬 알고리즘 - 퀵 정렬 [Quick Sort] 정렬 알고리즘 - 퀵 정렬 [Quick sort] 오늘은 정렬 알고리즘 중..
C언어 퀵 정렬 함수(qsort) 안녕하세요. 오늘은 stdlib.h 에서 제공하는 qsort 함수에 대한 내용입니다. [프로그래밍/알고리즘] - 정렬 알고리즘 - 퀵 정렬 [Quick Sort] 정렬 알고리즘 - 퀵 정렬 [Quick Sort] 정렬 알고리즘 - 퀵 정렬 [Quick sort] 오늘은 정렬 알고리즘 중 하나인 퀵 정렬(Quick Sort)에 관한 내용입니다. (퀵 정렬을 간단하게 소개하고 예제) 퀵 정렬(Quick Sort)이란? n개의 데이터를 정렬할 때 �� intunknown.tistory.com stdlib.h qsort 예제코드 만들기. 퀵정렬 예제 코드 실행하기. stdlib.h qsort C언어 stdlib.h에 quick sort함수가 구현되어 있습니다. void qsor..
merge sort(합병 정렬) 안녕하세요. 이번에는 merge sort코드입니다. 분할 정복 알고리즘의 하나입니다. 간단하게 설명하면 분할하고 정렬하고 결합하여 결국 전체가 정렬되게 하는 알고리즘입니다. 흠... 설명이 좀..ㅋㅋㅋㅋ merge sort[합병 정렬]코드. 코드 실행 결과. merge sort 코드 코드는 아래와 같습니다. 과정을 확인하기 위해 조금 쓸데없는 코드도 넣었습니다. #include void partition(int list[],int left,int right);//sort할 배열을 나눠주는 함수. void mergesort(int list[],int p,int r,int q);//sort void view(int list[],int l,int m, int r);//중간 상황..
정렬 알고리즘 - 퀵 정렬 [Quick sort] 오늘은 정렬 알고리즘 중 하나인 퀵 정렬(Quick Sort)에 관한 내용입니다. (퀵 정렬을 간단하게 소개하고 예제) 퀵 정렬(Quick Sort)이란? n개의 데이터를 정렬할 때 최악의 경우 =O(n^2), 평균적으로는 O(nlogn) 정렬을 하기 위한 데이터에서 데이터 하나를 고르고 그 데이터보다 작은 값과 큰 값으로 구분하여 정렬하는 알고리즘 알고리즘 코드 main함수, Quick_sort함수, Partition함수, SWAP함수로 이루어져 있습니다. 중간중간 결과 확인을 위한 print문이 있습니다. 해당 블로그에는 코드의 사진만 있습니다. 코드의 C파일은 제 Github에서 보실 수 있습니다. https://github.com/ykarr/C/b..
c언어로 만든 선택정렬 알고리즘(Selection Sort). -특정한 일을 수행하기 위한 명령의 유한집합. -만족 조건. 1.입력: 입력하는 데이터가 하나이상이 있어야한다. 2.출력: 적어도 하나의 결과가 있어야한다 3.명확성: 명령이 명확해야한다. 4.유한성: 반드시 종료되어야한다. 5.유효성: 반드시 실행가능해야한다. 선택정렬 알고리즘 -최소정수를 찾을 수 있어야한다. -최소정수와 다른값을 교환한다. -O(n^2) swap(말 그대로 바꿔주는 함수) swap 함수. void SWAP(int *x, int *y) { int z=*x; //z를 선언하고 z에 x가 가르키는 주소의 내용을 넣는다. *x=*y; // x의 주소에 y가 가르키는 주소의 내용을 넣는다. *y=z; //y의 주소에 z의 내용을 ..
정렬 알고리즘 삽입 정렬 [Insertion sort] 오늘은 정렬 알고리즘 중 하나인 삽입 정렬에 관한 내용입니다. 삽입 정렬이란? 기초 정렬 알고리즘. 이미 정리된 데이터들 사이에 새로운 데이터를 적절한 자리에 삽입해주는 알고리즘 성능=O(n^2) 알고리즘 코드 main함수와 insert_sort함수로 이루어져 있는 코드입니다. insert_sort를 확인하기 위한 불필요한 코드가 있습니다. 코드의 파일은 제 깃허브에서 보실 수 있습니다. https://github.com/ykarr/C/blob/master/algorithm/insertion_sort.c main함수 insert_sort함수 Insertion sort(삽입 정렬) 실행 결과 실행 결과에서 0-{}부분은 실행 전 배열의 상태입니다. 그..
[백준 1546] 평균 안녕하세요. 오늘은 백준 1546번 문제를 풀어보겠습니다. 먼저 썸네일 사진입니다 ㅎㅎ 백준 1546번 문제 문제&조건 기말고사를 망친 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그 후 모든 점수를 점수/M*100으로 고쳐서 평균을 계산한다. - 과목의 개수 N과 N개의 점수가 주어진다. - 정답과의 절대/상대 오차는 까지 허용한다. 예제 입력&출력 예제 입력(1) -> 3 ->40 80 60출력 ->75.00 예제 입력(2) -> 3 ->10 20 30 출력 -> 66.66 예제 입력(3) -> 4 -> 1 100 100 100 출력 -> 75.25 예제 입력(4) -> 5 -> 1 2 4 8 16 출력 -> ..
[백준 10817] 세 수 (bubble sort) 안녕하세요. 오늘은 백준 10817번 세 수라는 문제를 버블소트(bubble sort)를 이용해서 풀어보겠습니다. (아래 간단한 bubble sort의 설명이 있지만 관심있다면 검색해보는 것을 추천드립니다.) 먼저 썸네일로 쓸 사진부터좀 ㅎㅎ 백준 10817번 문제 문제&조건 세 정수 A, B, C가 주어집니다. (1크거나 같고 100작거나 같은 수) 이 세 정수가 주어질 때, 두 번째로 큰 정수를 출력 예제 입력 및 출력 예제 입력1 : 20 30 10 --> 예제 출력 : 20 예제 입력2 : 20 20 10 --> 예제 출력 : 20 예제 입력3 : 40 40 40 --> 예제 출력 : 40 예제 입력4 : 20 10 10 --> 예제 출력 : 1..
[백준1924] 2007년 안녕하세요. 이번에는 백준 2007년 [1924번]문제를 풀어보려고 합니다. 이 문제를 처음에는 노가다로 풀고 두번째는 배열을 이용해서 풀었습니다. 이 문제의 코드는 글에 스크린샷 형태로 올려져 있으며 아래 git허브 링크를 통해서도 확인하실 수 있습니다. 그럼 지금부터 문제를 풀어보도록 하겠습니다. 그 전에 썸네일 사진좀.. ㅎㅎ 백준 1924번 문제. 오늘은 2007년 1월 1일 월요일. 2007년 x월 y일은 무슨 요일일까? 조건 1. 2007년 1월 1일은 월요일. 2. 1월 , 3월, 5월, 7월, 8월, 10월, 12월은 1~31일까지. -4월, 6월, 9월, 11월은 1~30일까지. -2월은 28일까지 있다. 3. 2007년 x월 y일이 무슨 요일인지에 따라 요일을..
[백준2839]설탕배달 안녕하세요. 오늘은 백준 설탕배달[2839번]을 풀어보려고 합니다. 문제를 해결한 코드는 해당 블로그에는 사진형식으로 올리려고 합니다. (github에도 있습니다.) 백준 2839 문제 상근이가 설탕공장에서 일하는데 정확하게 n킬로그램을 배달해야 합니다. 설탕은 봉투에 있고 3킬로그램 봉지와 5킬로그램 봉지가 있습니다. 상근이는 귀찮아서 최대한 적은 봉지를 들고가려고 합니다. 조건 n킬로그램은 주어진다.(3 -1 6 --> 2 9 --> 3 11 --> 3 코드 코드는 아래와 같습니다. 해당 코드는 github에서 볼 수 있습니다. 문제 풀이 1. n kg을 입력받습니다. 2. for문을 실행합니다. (무한루프, 한번 돌때마다 a의 값이 올라감) 3. 전부 5kg의 봉지로 가져간다..