나는 Cormen & Co에 의해 "Introduction to Algorithms"을 읽고 java에서 알고리즘을 구현합니다. 궁금하다 삽입 정렬 코드에 작성하는 경우 최종 - set()
메서드에서 문장? 가능하다면 코드를 더 빨리 만들고 싶습니다.마지막 블록에 if 문을 삽입 정렬 코드로 작성하는 것이 합리적입니까?
public static void insertion(List<Integer> a) {
List<Integer> aList = a;
int temp;
int previousIndex;
for (int i = 1; i < aList.size(); i++) {
temp = aList.get(i);
previousIndex = i - 1;
while ((previousIndex >= 0) && aList.get(previousIndex) > temp) {
aList.set(previousIndex + 1, a.get(previousIndex));
previousIndex--;
}
//if(aList.get(previousIndex + 1) > temp){
aList.set(previousIndex + 1, temp);
//}
}
}
실례합니다 (초급 경우). 나는 아주 초보자이다.
함수의 첫 번째 줄은 less를 사용합니다. 동일한 객체를 가리 키기 만하면됩니다. 당신은 id'aList = a.clone()'또는'aList = new ArrayList()'을하고 루프를 사용하여 요소를 복사해야합니다. –
elyashiv
'Introduction to algorithms'을봤을 때'if'가 그들의 의사 코드에 없습니다. 어쨌든 필요하지 않습니다. 나는 네가 무엇을 요구하고 있는지 정말로 이해하지 못한다. – Tudor
@ Tudor, 가능한 경우 코드를 더 빨리 작성하고 싶습니다. if 문이 삽입 정렬 의사 코드에 없습니다. –