일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 802.3
- 802.3 이더넷
- Address Resolution Protocol
- adodb 설치
- AES 암호
- Alternatively build in profile or release modes to enable launching from the home screen
- Android Studio 몰입모드
- Android Studio 몰입모드 설정
- Android Studio 상태바 없애기
- Android Studio 자동 정렬
- android studio 자동정렬
- Android Studio 자동정렬 단축키
- Android Studio 코드 자동정렬
- Android Studio 타이틀바 없애기
- Android Studio 하단 바 없애기
- Android Studio 홈버튼 없애기
- Angler EK
- Angler EK 악성코드
- Angler EK이란
- apache2 tomcat9
- apache2 tomcat9 설치
- apache2 tomcat9 연동
- API
- apk 에러
- apk 오류
- ARP
- arp cache poisoning
- ARP Poisoning
- ARP Request
- ARP 구조
Archives
- Today
- Total
지나가는 이야기
[C] 내림차순 정렬하기 / 버블 정렬 사용하기 본문
728x90
반응형
이번에는 내림차순으로 정렬하는 프로그램을 만들어 보겠습니다. 오름차순 정렬은 passing-story.tistory.com/179 여기를 참고하시면 됩니다.
내림차순은 이전에 만든 오름차순 정렬 프로그램에서 기호 하나만 바꾸면 끝입니다.
// 오름차순
for (i = 0; i < data_size; i++) {
for (j = 0; j < (data_size - 1) - i; j++) {
if (data[j] > data[j + 1]) { // 버블 정렬 사용
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
// 내림차순
for (i = 0; i < data_size; i++) {
for (j = 0; j < (data_size - 1) - i; j++) {
if (data[j] < data[j + 1]) { // 버블 정렬 사용
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
위 코드의 내림차순 버블 정렬 사용 부분을 보면은 j가 j+1보다 작을 경우 위치를 변경합니다. 즉 큰 값이 앞으로 정렬이 됩니다. 이렇게 간단한 코드 변경으로 오름차순을 내림차순으로 바꿀 수 있습니다.
#include <stdio.h>
int main(void)
{
int data[8] = { 85,90,95,70,82,60,92,88 }; // 정렬할 배열
int i, j, temp = 0; // 변수 초기화
printf("Before : ");
int data_size = sizeof(data) / sizeof(int);
// sizeof(score) / sizeof(int)는 score배열의 크기를 구하는 방법으로 이것을 이용해 배열의 크기를 가져옴
for (i = 0; i < data_size; i++) {
printf("%4d", data[i]); // 정렬 전 배열값 출력
}
for (i = 0; i < data_size; i++) {
for (j = 0; j < (data_size - 1) - i; j++) {
if (data[j] < data[j + 1]) { // 버블 정렬 사용
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
printf("\nAfter : ");
for (i = 0; i < data_size; i++) {
printf("%4d", data[i]); // 정렬 후 배열값 출력
}
printf("\n");
return 0;
}
위 코드는 전체 코드입니다. 이것으로 내림차순 정렬에 대한 포스팅을 마치겠습니다.
728x90
반응형
'Computer language : 컴퓨터 언어 > C' 카테고리의 다른 글
[C] 숫자 피라미드 출력 / C언어 기초 (0) | 2022.01.24 |
---|---|
[C] 오름차순 정렬하기 / 버블 정렬 사용하기 (0) | 2020.10.14 |
[C언어] 범위에 속한 숫자 개수 구하기 / 1~N에 속하는 숫자 M의 개수 구하기 (0) | 2020.09.03 |
[C] 엘리베이터 프로그램 (0) | 2020.06.21 |
Comments