일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- vscode
- jupyter
- import data
- Visual Studio Code
- 오류
- console창
- error
- 파이썬
- visualstudio code
- csv
- database
- 데이터베이스
- MySQL
- github token
- 따옴표 삭제
- clone
- DataGrip
- 에러
- 단축키
- github clone
- cmd
- php
- PHPStorm
- 클론
- run sql script
- OrCAD 다운로드
- 깃 토큰
- Python
- error 해결
- localhost
Archives
- Today
- Total
개발 노트
9. C++ STL sort() 함수 다루기(1) 본문
정렬 라이브러리가 있기 때문에 정렬 문제에서 굳이 코드를 만들 필요 없이 정렬 라이브러리를 쓰면 된다.
c++에서 다양한 stl 라이브러리를 제공하기 때문에 c++를 사용한다.
#include <iostream>
#include <algorithm>
using namespace std;
//비교함수
bool compare(int a, int b) {
return a < b; //오름차순, a>b이면 내림차순 정렬이 됨.
}
int main(void) {
int a[10] = {9, 3, 5, 4, 1, 10, 8, 6, 7, 2};
//정렬할 기준을 직접 설정.
//두 번째에는 a+10처럼 변수의 개수를 더한 값을 작성
//세 번째에 직접 만든 함수를 집어넣으면, 해당 함수의 반환값에 맞게 정렬 동작
sort(a, a + 10, compare);
for(int i = 0; i < 10; i++) {
cout << a[i] << ' ';
}
}
출력 결과
점수를 기준으로 학생을 정렬해서 이름 출력하기
#include <iostream>
#include <algorithm>
using namespace std;
class Student {
public:
string name;
int score;
Student(string name, int score) {
this->name = name;
this->score = score;
}
// 정렬 기준은 '점수가 작은 순서'
bool operator <(Student &student) {
return this->score < student.score;
}
};
bool compare(int a, int b) {
return a > b;
}
int main(void) {
Student students[] = {
Student("나동빈", 90),
Student("이상욱", 93),
Student("박한울", 97),
Student("강종구", 87),
Student("이태일", 92)
};
sort(students, students + 5);
for(int i = 0; i < 5; i++) {
cout << students[i].name << ' ';
}
}
출력 결과
반응형
'알고리즘 공부 : 24.01.18~ > 2. 알고리즘 심화 정렬' 카테고리의 다른 글
12. 계수 정렬(Counting Sort) (0) | 2024.04.18 |
---|---|
11. 힙 정렬(Heap Sort) (0) | 2024.04.18 |
10. C++ STL sort() 함수 다루기(2) (0) | 2024.04.17 |
8. 병합 정렬(Merge Sort) (0) | 2024.02.02 |