C언어 오름차순으로 정렬하기
- 콩지님의 일상/c++
- 2014. 6. 19.
안녕하세요..^^* 오늘은 배열을 오름차순으로 정리하는 법을 배워 보고자 합니다. 오름 차순이란 작은 값부터 큰 값으로 점점 나아가는 것이죠. 그럼 지금부터 한번 시작해 보도록 하겠습니다.
입력할 숫자 5를 누르고 즉 5개를 입력하는 것이죠. 5 4 3 2 1 을 누르니까 오름차순으로 1 2 3 4 5로 되어 버렸습니다. 이걸 이해하기 전에 조금 더 쉬운 소스코드를 이해해 보도록 하죠.
5를 똑같이 치고 5 6 7 0 1을 눌렀습니다. 0 6 7 5 1이 나왔네요. 이건 어떤 소스코드냐하면 제일 앞의 배열에 있는 값보다 작은 값이 나온다면 바꿔치는 것입니다. 4번째가 0이니 5보다 작으니까 바꿔치고 0과 1은 0이 더 작으니 그냥 나두는 소스코드이죠.^^*
쉬운 소스코드를 보죠. for문을 쓰고 일단 temp를 써서 a[i]를 temp에 저장한 다음 a[j]를 a[i]에 저장 그럼 a[j]는 a[i]가 되겠죠. 그 다음에 temp를 a[j]에 저장하면 a[i]==temp==a[j]가 되어서 바꿔 치는 거겠죠.ㅎㅎ a[i]>a[j]즉 j가 1번째 있는 배열이 다른 인덱스의 배열보다 더 작다면 바꿔 쳐 버리는 것이죠.
그 다음에는 이제 본격적으로 오름차순으로 해 볼 차례입니다. 이번에는 두번 for문을 돌렸네요. 그럼 일단 j를 1을 집어 넣어 보죠. 그럼 j보다 작은 i가 0하나만 그 다음에 j가 2라면 a[i]==a[0],a[1]요 두개만 바꿔치기를 하면서 계속 나가는 것이죠. 이 과정을 계속하다 보면 작은 것부터 계속 바꿔치기 하니까 결국 오름차순이 될 수 밖에 없는 것입니다.
어떤가요?? 별로 어렵지 않죠?? ㅎㅎ 소스코드를 짜 보면 정말 쉬운데 안짜보면 또 어려운게 c언어입니다. 계속 짜봐야 실력이 는다는 것을 알 수 있을 것입니다. 그럼 오늘은 여기서 이만 물러나도록 할께요..^^*
'콩지님의 일상 > c++' 카테고리의 다른 글
c언어 승패판단 프로그램 작성하기 (0) | 2014.06.23 |
---|---|
배열 값을 바꾸는 프로그램 짜기 (0) | 2014.06.14 |
배열 검색하는 프로그램 짜기 (0) | 2014.06.10 |
배열 인덱스 출력하는 프로그램 작성하기 (0) | 2014.06.08 |
c언어 연산자 알아보기 (0) | 2014.05.09 |