질문과 답변
윈 도 우 자바 스크립트 selection sort
2014.10.11 10:10
안녕하십니까
이제 막 자바에 입문했는데요.
자바 스크립트 동영상강좌 사이트에서 자바스크립트를
배우고 있는데 정열 셀렉션소트부분에서 이해가 안되서 질문 좀 올립니다
아래에 스크립터 부분에서 selection sort 부분이 이해가 가지 안네요
아래 전체 스크립터 중 바로 이 부분(selection sort)
//selection sort작엽과정
for(b=0;b<arr.length-1;b++) ------------>왜 length가 -1 까지만 비교하는지
for(c=b+1;c<arr.length;c++) -------->여기 부분은 끝까지 비교하는데
if(arr[b]>arr[c])
이 부분이 이해가 안되서 그러는데(selection sort)
아시는 분 답변주시면 감사하겠습니다
import java.util.Scanner;
class array
{
public static void main(String[] args)
{
//1.키보드로 부터 데이터 입력
//2.배열에 각 데이터 저장
//3.정열
//4.정열결과를 인쇄
int[] arr=new int[5];
int a,b,c,sum;
String str;
Scanner scn=new Scanner(System.in);
//키보드에서 입력되 데이타 배열
for (a=0;a<arr.length;a++)
{
str=scn.next();
arr[a]=Integer.parseInt(str);
}
//selection sort작엽과정
for(b=0;b<arr.length-1;b++)
for(c=b+1;c<arr.length;c++)
if(arr[b]>arr[c])
{
sum=arr[b];
arr[b]=arr[c];
arr[c]=sum;
}
//정렬과정 표시작업
for (a=0;a<arr.length;a++)
System.out.print(" " + arr[a]);
}
}
댓글 [3]
-
홍차의꿈 2014.10.11 12:58 -
큐브 2014.10.11 13:13 배열의 마지막 값은 비교 대상이 없지 않나요?
-
sum 2014.10.11 13:26
예 이제 좀 이해가 가네요
두분 답변 감사합니다
좋은 하루되세요
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
52323 | 소프트웨어| 아웃룩 자동 전달 기능 어디 있을까요? | 눅스야 | 1757 | 10-17 |
52322 | 서버 / IT| 윈도우 서버 2012r2 최대볼륨크기.. | 건이- | 2166 | 10-17 |
52321 | 기 타| 바이두 이용량을 어디서 찾나요? [5] | 늘상푸른 | 1328 | 10-17 |
52320 | 소프트웨어| yontube에있는 동영상을 가져와서 보여줄려면 어떻게 하는... | joe | 920 | 10-17 |
52319 | 윈 도 우| 자동설치옵션 [1] | 버들피리 | 1100 | 10-17 |
52318 | 소프트웨어| silent옵션을 쉽게 찾을수있을까요? | 버들피리 | 908 | 10-17 |
52317 | 윈 도 우| 네이버카페에 글쓰기하면 이상한 글자들이 따라붙습니다 | 무수리요 | 1010 | 10-17 |
52316 | 윈 도 우| 윈도우xp물어보고싶은게잇는데요 [3] | 크롱 | 934 | 10-17 |
52315 | 하드웨어| 두 개의 그래픽카드 중에서 아랫쪽 그래픽카드 사용하는 방... | 입교 | 1116 | 10-17 |
52314 | 윈 도 우| DOS용 고스트버전 질문드립니다. [6] | 양치기영감 | 1271 | 10-17 |
52313 | 하드웨어| 견적 조언 좀 부탁드립니다~^ [2] | 초록날개 | 932 | 10-16 |
52312 | 기 타| RAPID 어떤 기능인가요? [2] | 피라미드 | 1150 | 10-16 |
52311 | 윈 도 우| 어째 이런 일이....이를 어찌하오리까? [2] | 작은목자 | 1198 | 10-16 |
52310 | 소프트웨어| potmpc 원도우 8.1 에서 등록이 잘 안됩니다. [3] | 귀신 | 1052 | 10-16 |
52309 | 윈 도 우| 윈도우 시간 흐름 속도 정확하게 조정 | Curvature | 851 | 10-16 |
52308 | 윈 도 우| Windows 7 Loader 작동원리...? [1] | 그러비 | 1540 | 10-16 |
52307 | 윈 도 우| wimboot 는 윈7이나 윈7pe에선 안되는거죠?? [5] | 푸른푸른 | 1006 | 10-16 |
52306 | 윈 도 우| vhdx사이즈 키우는 법 부탁합니다~ [2] | brucex | 942 | 10-16 |
52305 | 소프트웨어| 원키 리커버리 7.2 한글 버전을 구하고 있습니다 [3] | 공피 | 2081 | 10-16 |
52304 | 윈 도 우| 윈 8.1 인덱싱 서비스 원하는 폴더만 지정 가능 한지 문의 ... [2] | 나나트리 | 988 | 10-16 |
저번에도 이런 질문이 올라왔었는데... 못보셨군요...
//selection sort작엽과정
for(b=0;b<arr.length-1;b++)
← 배열 인덱스는 0부터 시작하기 때문입니다.
(만약 -1을 안해주면 0부터 배열길이 5까지 루프를 돌게되어 6번 돌게되기 때문에 인덱스 에러가 납니다.)
총 배열값을 모두 읽어들이려면 5번을 돌아야하기 때문에 -1을 해주는 겁니다.
for(c=b+1;c<arr.length;c++)
← c=b+1 즉, c=0+1=1입니다...
이것은 배열길이보다 -1 적게 루프를 돕니다. 4번 루프를 돌아 1~4까지 배열값을 처리합니다