질문과 답변
윈 도 우 자바 스크립트 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 | - | - |
52299 | 윈 도 우| 오늘 GIMAGEX 이미지 생성 다시 부팅을 해서 설치를 했는데요 [7] | 나세모 | 1017 | 10-16 |
52298 | 윈 도 우| Windows Server 2003 인증만료 푸는법 질문드립니다. [1] | 엑기스33 | 1087 | 10-16 |
52297 | 윈 도 우| wimboot 백업관련 [3] | 버금차 | 962 | 10-16 |
52296 | 윈 도 우| 윈도우 8.1 호환성 관련 문의 입니다. [5] | 슝슝이 | 1053 | 10-16 |
52295 | 윈 도 우| rsimagex 와 vhdman 기능 차이 초보 질문 [2] | 운상아짜 | 1049 | 10-16 |
52294 | 하드웨어| 초 절전 pc 조립을 하고자 합니다. [3] | 오래된미래 | 1116 | 10-16 |
52293 | 하드웨어| 서버용 하드 사용해보신분들께 질문좀 드립니다. [2] | 클레멘타인 | 1149 | 10-16 |
52292 | 서버 / IT| 윈도10, IE11 오류 질문드립니다.... [5] | 나나나 | 2865 | 10-15 |
52291 | 윈 도 우| 부팅 직후 네트워크 연결 딜레이 발생 [4] | 네버잉 | 1375 | 10-15 |
52290 | 소프트웨어| 아크로니스 트루이미지 질문 [4] | 솔모로 | 1235 | 10-15 |
52289 | 소프트웨어| 2중 자막 지원 플레이어 [3] | 나는나다 | 951 | 10-15 |
52288 | 윈 도 우| GIMAGEX로 INSTALL.WIM 파일을 만들었는데요 [5] | 나세모 | 1050 | 10-15 |
52287 | 기 타| 2가지 궁금한게 있어요 !!! | KyleM | 921 | 10-15 |
52286 | 윈 도 우| a Disk Read error occurred [11] | brucex | 2303 | 10-15 |
52285 | 윈 도 우| 질문+ 부탁 하나만 드립니다. [1] | lubwiz | 855 | 10-15 |
52284 | 윈 도 우| 윈7 사용중입니다. 익스플로러에 딜레이가 생겨 질문드립니다. [1] | 슈마이아랑 | 1113 | 10-15 |
52283 | 하드웨어| 3T 하드에 뭔가 하드 파킹 옵션 재설정 해 주어야 한다고 ... [1] | 나나트리 | 1253 | 10-15 |
52282 | 윈 도 우| virtualbox를 이용해 윈도우 설치 질문 [2] | bloodsign | 912 | 10-15 |
52281 | 윈 도 우| esd파일 wim [1] | @LostED | 1248 | 10-15 |
52280 | 소프트웨어| 자바 임시 파일이 왜 32기가나 설정 되어 있을까요 ? | 나나트리 | 923 | 10-15 |
저번에도 이런 질문이 올라왔었는데... 못보셨군요...
//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까지 배열값을 처리합니다