저는 C에서 꽤 초보자입니다. 내 교수의 방식에서 버블 정렬을 수정하는 방법에 대한 구체적인 숙제를 따르려고합니다. 원한다.무작위 배수 배열에 대해 매우 구체적인 방법으로 버블 정렬을 수정하려고 시도합니다.
기본적으로 우리는 무작위 값을 가진 double 배열을 만든 다음 여러 정렬 방법을 사용하여 해당 배열을 새로운 배열로 복사하고 정렬합니다.
배열과 임의의 숫자가 정상적으로 표시되었지만이 버블 정렬을 올바르게 수정했는지 알 수 없습니다. 과제의 지침 상태는 다음과 같습니다.
수정 된 버블 정렬에는 내부 및 외부 루프가 포함됩니다. N 정렬되는 배열의 요소의 개수가 1 - 외부 루프 내지 N 0 행 (협의 I)는 카운터/인덱스를 증분 . 내부 루프는 I + 1N내지 그 카운터/인덱스를 증가, 내가의 범위에서 최소의 요소를 식별 의 배열 요소에 대해 그 범위의 각 요소를 테스트한다. 이 내부 루프가 종료 한 후, 여전히 동안 외부 루프에서, 만약 위치 I, I에서 해당 위치의 값이 값으로 교체된다 발견은 그렇지 않으면 작업에서보다 작은 소자 필요한 경우 외부 루프가 반복됩니다.
for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (arrayB[j] < arrayB[i]) { value = arrayB[i]; arrayB[i] = arrayB[j]; arrayB[j] = value; } } }
이 코드가 올바르게 배열을 정렬,하지만 그건 경우 그냥 보통의 거품 정렬 또는 내가 있기 때문에 이야기하는 방법을 모른다 :
이
은 버블 정렬 내 코드입니다 내가 예상했던 방식대로 수정 했어. 버블 형식이 일반적으로 C 언어로 어떻게 보이는지 모르겠으므로 수정 된 버전인지 아닌지 알 수 없습니다.나는이가 NOT C++ 코드를하지만, 어떤 도움을 주시면 더 좋구요 보통 오래된 C.
있어야하는데 명확히하고 싶습니다!
코드의 버블 정렬과 같은 설명은 선택 분류와 비슷합니다. –