Programming/Algorithm (C++)
[백준 2750번] c언어 :: 수 정렬하기
밍동니
2020. 12. 27. 17:32
#include <stdio.h>
int main() {
int N;
int i, j;
int num[1000] = { 0 };
int tmp;
scanf("%d", &N);
for (i = 0; i < N; i++) {
scanf("%d", &num[i]);
}
for (i = 0; i < N - 1; i++) {
for (j = 0; j < N-1; j++) {
if (num[j] > num[j + 1]) {
tmp = num[j];
num[j] = num[j + 1];
num[j + 1] = tmp;
}
}
}
for (i = 0; i < N; i++)
printf("%d\n", num[i]);
return 0;
}
왜 맨첫번째 자꾸 0이 나오는지 고민하다 해결
N-1 둘다 해 줘야해용
거품 정렬
ko.wikipedia.org/wiki/%EA%B1%B0%ED%92%88_%EC%A0%95%EB%A0%AC
거품 정렬 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 무작위 배열수의 거품 정렬 예 거품 정렬( - 整列, 영어: bubble sort, sinking sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 O ( n 2 ) {\displaystyl
ko.wikipedia.org
거품 정렬( - 整列, 영어: bubble sort, sinking sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 {\displaystyle O(n^{2})}
로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이다. 양방향으로 번갈아 수행하면 칵테일 정렬이 된다.
칵테일 정렬 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 칵테일 셰이커 정렬(cocktail shaker sort)[1]은 양방향 거품 정렬(bidirectional bubble sort)[2] 또는 셰이커 정렬(shaker sort) 등으로도 불리는 거품 정렬의 변형이다. 거품 정
ko.wikipedia.org
1#include <stdio.h>
2# define MAX 10
3
4int* bubble_sort(int arr[], int n) {
5 int i, j, temp;
6 for (i=n-1; i>0; i--) {
7 for (j=0; j<i; j++) {
8 if (arr[j] > arr[j+1]) {
9 temp = arr[j];
10 arr[j] = arr[j+1];
11 arr[j+1] = temp;
12 }
13 }
14 }
15 return arr;
16
17}
18
19int main() {
20 int arr[MAX] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
21 int* arr_new = bubble_sort(arr, MAX);
22 for (int i = 0; i < MAX; i++) {
23 printf("%d\n", *(arr_new+i));
24 }
25 return 0;
26}