Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

순환 정렬


순환 정렬은 내부 정렬 알고리즘입니다. 또한 비교 기반 정렬이며 다른 모든 내부 정렬 기술에 효율적입니다. 정렬 작업을 수행하기 위한 최소 메모리 쓰기 수를 찾습니다.

순환 정렬 기법의 복잡성

  • 시간 복잡도:O(n^2)
  • 공간 복잡성:O(1)

입력 및 출력

입력:정렬되지 않은 데이터 목록:23 63 98 74 20 14 36 45 99 78출력:정렬 전 배열:23 63 98 74 20 14 36 45 99 78정렬 후 배열:14 36 7 453 /사전> 

알고리즘

cycleSort(배열, 크기)

입력 - 데이터 배열 및 배열의 ​​총 개수

출력 - 정렬된 배열

Start for start :=0 to n – 2 do key :=array[start] location :=start for i :=start + 1 to n-1 do if array[i]  

예시

#includenamespace 사용 std;void swapping(int &a, int &b) { //a와 b의 내용을 교환합니다. int temp; 온도 =에이; a =b; b =임시;} 무효 디스플레이(int *배열, 정수 크기) { for(int i =0; i<크기; i++) cout <> n; 정수 [n]; // 주어진 수의 요소로 배열 생성 cout <<"Enter elements:" <> arr[i]; } cout <<"정렬 전 배열:"; 디스플레이(arr, n); 사이클 정렬(arr, n); cout <<"정렬 후 배열:"; 디스플레이(arr, n);}

출력

요소 수 입력:10요소 입력:23 63 98 74 20 14 36 45 99 78정렬 전 배열:23 63 98 74 20 14 36 45 99 78정렬 후 배열:14 20 4 53 636 사전>