搜索 - Microsoft 必应
图片
视频
翻译
地图
视频
翻译
地图
学术
词典
MSN
小游戏
Microsoft 365
Outlook
Word
Excel
PowerPoint
OneNote
Sway
OneDrive
日历
人脉
了解必应
国内版
国际版
获取新版必应壁纸应用
苏州古镇风景,江苏省,中国
© gyn9038/Getty Images
春和景明
反馈
登录
扫码下载 微软必应手机版
全球资源,有求必应
1416: [정렬] 선택 정렬
메모리제한: 128 MB
시간제한: 1.000 S
체점 스타일: 텍스트 비교
만든사람:
제출: 0
통과: 0
제출
기록 제출
통계
제출창
문제 설명
정보과학 교과서 153p
----
선택 정렬(selection sort)는 주어진 데이터들 중에서 가장 작은 값을 찾는 과정을 반복하는 정렬 방법이다.
주어진 데이터 집합 중에서 가장 작은 값을 찾아 선택하는 과정을 반복하며 정렬되기 때문에 선택 정렬이라고 부른다.
n개의 정수 데이터를 입력받아 오름차순으로 정렬하여 출력하는 프로그램을 작성해보자.
단, 정렬 함수 sort() 를 사용할 수 없다.
#include <stdio.h>
int n, d[3010];
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
for(int i=1; i<=n-1; i++) //n-1번 실행한다.
{
for(int j=i+1; j<=n; j++)
{
if(d[i] > d[j]) //i번째 값이 다른 값보다 크면, 그 값과 자리를 바꾼다.
{
int t = d[i];
d[i] = d[j];
d[j] = t;
}
}
}
for(int i=1; i<=n; i++)
printf("%d ", d[i]);
}
입력 설명
첫 번째 줄에 데이터의 개수(n)가 입력된다.
두 번째 줄에는 n개의 데이터(k)가 스페이스를 사이에 두고 한 줄로 입력된다.
[1 <= n <= 3000]
[0 <= k <= 2147483647]
출력 설명
오름 차순으로 정렬한 결과를 스페이스를 사이에 두고 한 줄로 출력한다.
입력 예시
복사
5 9 8 3 4 7
출력 예시
복사
3 4 7 8 9
출처/분류
정보과학교과서
제출
기록 제출
통계
제출창