내 코드 : (나는 그것을 오름차순으로 정렬 된 배열을 기대합니다).왜 alogrithim 정렬 무한 루프가 될
void sort(int arr[], int n) {
int c=0;
for(int i = 0; i<n-1; ++i) {
if (arr[i]>arr[i+1]) {
c=arr[i];
arr[i]=arr[i+1];
arr[i]=c;
i=0;
}
}
}
예 어레이 : int arr[4]={3,1,2,4};
sort(arr,4);
에러 : 무한 루프 ???
작은 입력 집합에 대해 수동으로 종이에 (또는 디버거를 사용하여) 코드를 단계별로 실행하십시오. 종료 조건이 충족되지 않는 이유는 무엇입니까? – user2864740
나는 2 시간 동안 당황스럽게 그렇게 해왔다. 배열이 3,4,1,2라면 .. 프로세스가 다음과 같이 진행되어야합니다 : 3,1,4,2 .... 1,3,4,2 ... 1,3,2,4. .1,2,3,4 .. –
"i"거기에 무엇을했는지보십시오. –