황당한 질문입니다.......

blackash의 이미지

으~~~~~~~~~~

돌기 직전 입니다.

for(i=0;i<total-1;i++)
{
  for(j=i;<total;i++)
  {
    if(i==j) continue; //문제의 라인
         .
         .
         .
  }
}

이렇게 생긴 코드가 있는데 if 문을 빼었을때보다 if 문이 있을때 더 빨리 도는 이유는 무엇일까요?

흐유.................................

hunkim의 이미지

뭐 ... 에 뭐가 들어 가느냐에 따라 속도차이가 있겠지만 위 소스의 경우 if의 조건을 충족할 경우 아래 ... 을 생략하고 다음번 루프로 가기때문에 속도가 빨라질 수도 있겠죠.

물론 ... 이 무얼하느냐에 따라 결과가 달라질 수도 있겠죠.

ses의 이미지

두번째 loop 에 보면 j++ 이 아니라 i++ 로 되어있군요...

그럼 당연히 더 빠르게 돌지 않을까요?
i = j 이니까 밑에 code 는 실행도 않고 바로 넘어가버리니..

그냥 단순 오타인거 같기도 하고, 어쨌거나 j++ 이라도 약간 더 빠르게 돌듯